温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-08-11 07:20:20 来源:ITPUB博客 阅读:233 作者:千锋云计算 栏目:云计算

一、hive产生背景

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文件系统。然后重新启动集群。

 <property>

     <name> hadoop.proxyuser.root.hosts </name>

     <value> * </value>

</property>

<property>

     <name> hadoop.proxyuser.root.groups </name>

     <value> * </value>

</property>

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

 hive --service hiveserver2 &

 

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

 

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

 !connect jdbc:hive2://linux1:10000

 

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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI