云计算大数据学习路线课程大纲资料:hive入门操作

一、hive产生背景

成都创新互联公司一直在为企业提供服务,多年的磨炼,使我们在创意设计,全网整合营销推广到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过10余年以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务温江服务器托管重庆APP开发公司、手机移动建站、网页设计、网络整合营销。

Apache Hive数据仓库软件可以使用SQL方便地阅读、编写和管理分布在分布式存储中的大型数据集。结构可以投射到已经存储的数据上。提供了一个命令行工具和JDBC驱动程序来将用户连接到Hive。

• 由Facebook开源,最初用于解决海量结构化的日志数据统计问题

• MapReduce编程的不便性

• HDFS上的文件缺少Schema(字段名,字段类型等)

二、Hive是什么

• 构建在Hadoop之上的数据仓库

• Hive定义了一种类SQL查询语言:HQL(类似SQL但不完全相同)

• 通常用于进行离线数据处理(采用MapReduce)

• 底层支持多种不同的执行引擎(Hive on MapReduce、Hive on Tez、Hive on Spark)

• 支持多种不同的压缩格式、存储格式以及自定义函数(压缩:GZIP、LZO、Snappy、BZIP2.. ; 存储:TextFile、SequenceFile、RCFile、ORC、Parquet ; UDF:自定义函数)

到底什么是Hive,我们先看看Hive官网Wiki是如何介绍Hive的(https://cwiki.apache.org/confluence/display/Hive/Home):

云计算大数据学习路线课程大纲资料:hive入门操作

Apache Hive  Apache Hive™ 数据仓库软件为分布式存储的大数据集上的读、写、管理提供很大方便,同时还可以用SQL语法在大数据集上查询。

1、是一种易于对数据实现提取、转换、加载的工具(ETL)的工具。可以理解为数据清洗分析展现。 2、它有一种将大量格式化数据强加上结构的机制。 3、它可以分析处理直接存储在hdfs中的数据或者是别的数据存储系统中的数据,如hbase。 4、查询的执行经由mapreduce完成。 5、hive可以使用存储过程 6、通过Apache YARN和Apache Slider实现亚秒级的查询检索。

三、hive的安装

1.hive的单机安装(使用derby做元数据存储)

• 安装包准备

 将hive安装包 apache-hive-1.2.1-bin.tar.gz 上传到虚拟机/bigdata/下

 

云计算大数据学习路线课程大纲资料:hive入门操作

 JDK安装包 jdk-8u151-x64.gz

 集群的准备(linux1,linux2,linux3)

• hive的解压安装

 将上传的hive解压缩至虚拟机/app目录下

 tar -zxvf /app/apache-hive-1.2.1-bin.tar.gz -C /app

云计算大数据学习路线课程大纲资料:hive入门操作

 

 mv /app/apache-hive-1.2.1-bin/ /app/hive-1.2.1

云计算大数据学习路线课程大纲资料:hive入门操作

 

• 配置hive的配置文件

 查看配置文件内容

云计算大数据学习路线课程大纲资料:hive入门操作

 

 拷贝配置文件hive-env.sh.template为hive-env.sh

 cp /app/hive-1.2.1/conf/hive-env.sh.template /app/hive-1.2.1/conf/hive-env.sh

 

云计算大数据学习路线课程大纲资料:hive入门操作

 

 vim /app/hive-1.2.1/conf/hive-env.sh

 

云计算大数据学习路线课程大纲资料:hive入门操作

 

• 配置hive的环境变量

 vim /etc/profile

云计算大数据学习路线课程大纲资料:hive入门操作

 

 source /etc/profile

which hive

 

云计算大数据学习路线课程大纲资料:hive入门操作

 

• 启动hadoop集群

 

云计算大数据学习路线课程大纲资料:hive入门操作

 

• 启动hive服务

 hive

 

云计算大数据学习路线课程大纲资料:hive入门操作

 

• 查看数据库

 show databases;

 

云计算大数据学习路线课程大纲资料:hive入门操作

 

• 创建数据库

 create database myhive;

show databases;

 

云计算大数据学习路线课程大纲资料:hive入门操作

 

• 创建表

 create table student(id int,chinese string,math string,English string);

 

云计算大数据学习路线课程大纲资料:hive入门操作

 

• 加载数据并查询

 load data local inpath '/root/student.txt' into table student;

select * from student;

 

云计算大数据学习路线课程大纲资料:hive入门操作

 

2.hive的独立安装模式(使用MySQL做元数据存储)

• 安装MySQL服务器端和MySQL客户端,并启动mysql服务。

• 在linux1上为Hive建立相应的MySQL账户,并赋予足够的权限

create user 'hive' identified by '123456';

GRANT ALL PRIVILEGES ON *.* TO hive@'%' IDENTIFIED BY '123456' with grant option;

GRANT ALL PRIVILEGES ON *.* TO hive@'localhost' IDENTIFIED BY '123456' with grant option;

flush privileges 

云计算大数据学习路线课程大纲资料:hive入门操作

 

查看是否成功

云计算大数据学习路线课程大纲资料:hive入门操作

 

• 在内嵌模式下继续配置hive:hive-site.xml,hive-env.sh

 配置hive-env.sh

 

云计算大数据学习路线课程大纲资料:hive入门操作

 

 配置hive-site.xml,拷贝/app/hive-1.2.1/conf下的hive-default.xml文件为hive-site.xml

 

 cp /app/hive-1.2.1/conf/hive-default.xml.template /app/hive-1.2.1/conf/hive-site.xml

 

 vim /app/hive-1.2.1/conf/hive-site.xml

 

• 拷贝数据驱动jar包到指定目录/app/hive-1.2.1/lib/下。没有驱动包会报错

 

• 使用命令行的方式启动hive服务,然后查看数据库,创建数据库名为heihei,查看集群web页面

 

 查看集群web页面,可以看见在hdfs上生成了对应heihei数据库的文件目录

 

• 使用beeline访问hive

 exit命令退出刚才的hive服务,在linux1上修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置项, 通过httpfs接口匿名的方式登录到hdfs文件系统。然后重新启动集群。

 

     hadoop.proxyuser.root.hosts

     *

     hadoop.proxyuser.root.groups

     *

 使用命令hive --service hiveserver2 & 后台启动hive服务

 hive --service hiveserver2 &

 

 克隆窗口作为客户端连接,执行beeline脚本

 

 连接服务端,这种方式使用了thrift服务,10000为默认的连接端口号

 !connect jdbc:hive2://linux1:10000

 

 验证连接的是不是我们刚才用命令行方式访问的hive服务


本文名称:云计算大数据学习路线课程大纲资料:hive入门操作
文章地址:http://hbruida.cn/article/gsgeec.html