安装和体验 hive
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
关于 hive
Hive 是种基于 Hadoop 的数据仓库工具,将结构化的数据文件映射为一张数据库表,并提供类 SQL 查询功能。
环境信息
本文对应的环境信息如下:
CentOS Linux release 7.5.1804
JDK:1.8.0_191
hadoop:2.7.7
hive:1.2.2
hadoop 的部署和启动
hadoop 环境的部署和启动请参考《Linux 部署 hadoop2.7.7 集群》
注意: 确保环境变量中有 HADOOP_HOME 的配置;
安装和配置 MySQL(5.7.27 版本)
MySQL 用来存储元数据,我这里为了简化操作是在 docker 环境下部署的,一行命令即可:
进入 mysql 容器:
进入容器后连接 mysql,密码是 888888 :
新建名为 hive 的 mysql 账号:
给 hive 账号授权访问(并且 hvie 账号还有权给其他账号授权):
刷新权限数据:
在宿主机的终端执行以下命令重启 mysql 服务:
再次进入 mysql 容器,以 hive 账号的身份登录 mysql:
创建名为 hive 的数据库:
安装 hive
去 hive 官网下载,地址是:http://mirror.bit.edu.cn/apache/hive/ ,选择合适的版本,如下图:
注意 :接下来的操作用的账号都不是 root,而是 hadoop
在 hadoop 账号的家目录下解压刚刚下载的 apache-hive-1.2.2-bin.tar.gz 文件,是个名为 apache-hive-1.2.2-bin 的目录;
编辑 hadoop 账号的 .bash_profile 文件,增加一个环境变量,就是将刚刚解压出来的 apache-hive-1.2.2-bin 文件夹的完整路径:
修改完毕后,重新打开一个 ssh 连接,或者执行 source ~/.bash_profile 让环境变量立即生效;
进入目录 apache-hive-1.2.2-bin/conf/ ,用模板文件复制一份配置文件:
在此目录创建名为 hive-site.xml 的文件,内容如下:
将 mysql 的 JDBC 包放在此目录: /home/hadoop/apache-hive-1.2.2-bin/lib/ ,我这里用的是 mysql-connector-java-5.1.47.jar ,您可以在此下载:https://download.csdn.net/download/boling_cavalry/11834367
设置工作已经完成了,接下来是启动和初始化;
初始化和启动 hive
进入目录 apache-hive-1.2.2-bin/bin ,执行以下命令初始化:
操作成功后,控制台提示:
在 mysql 上看一下,数据库 hvie 下建了多个表:
在目录 /home/hadoop/apache-hive-1.2.2-bin/bin 执行命令 ./hive 即可启动;
初始化和启动已经完成,接下来验证 hive;
验证
前面执行 ./hive 之后,已进入了对话模式,输入以下命令创建名为 test001 的数据库:
选择该数据库:
创建一个名为 test_table 的表:
新建一个 ssh 连接,创建名为 hive_test.txt 的文本文件,内容如下:
回到和 hive 对话模式的控制台,输入以下命令,将上述文本文件的内容导入到 test001.test_table 表中:
控制台提示如下:
执行 select 操作,可以看到数据已经全部入库:
执行 group by 查询:
此时会启动一个 job 来完成上述查询,控制台输出如下:
至此,hive 的安装和体验实战就完成了,希望本文能给一起学习 hive 的读者们一些参考。
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/fb289dd9e9175019ddc534e1a】。文章转载请联系作者。
评论