由于Hive 是运行在Hadoop 下的数据仓库,所以必须在已经安装好Hadoop 的环境下运行Hive ,且要正确配置HADOOP_HOME 环境变量。本书讲解的Hive 运行在2.2.2 小节搭建的Hadoop 伪分布式环境的基础上,我们可以利用CentOS7-201 虚拟机(如图2-35 所示)进行Hive 的安装与配置。

图2-35 Hadoop 完全分布式环境
(1)下载、安装和配置Hive
Hive 官网:
安装包具体下载地址:
这里选择下载Hive 3.1.3 版本,文件名为apache-hive-3.1.3-bin.tar.gz 。
(2)上传并解压Hive
把下载下来的Hive 安装包文件上传到当前用户hadoop 的主目录,再解压Hive 安装包文件:
[hadoop@server201 app]$ tar -zxvf ~/apache-hive-3.1.3-bin.tar.gz -C .
目录名称太长了,修改一下名称:
[hadoop@server201 app]$ mv apache-hive-3.1.3-bin/ hive-3.1.3
配置Hive 的环境变量是可选的,目的是为了方便执行Hive 脚本:
export HIVE_HOME=/app/hive-3.1.3 export PATH=$PATH:$HIVE_HOME/bin
接下来配置hive-site.xml ,Hive 的conf 目录下没有这个文件,可以自己创建一个,内容如下:
hive.exec.scratchdir hdfs://server201:8020/hive/scratchdir hive.exec.local.scratchdir /app/hive-3.1.3/datas hive.downloaded.resources.dir /app/hive-3.1.3/datas hive.scratch.dir.permission 700 hive.querylog.location /app/hive-3.1.3/datas hive.metastore.warehouse.dir /app/hive-3.1.3/datas hive.metastore.local true datanucleus.schema.autoCreateAll true
(3)启动 Hadoop ,登录 Hive 命令行
启动Hadoop 。
[hadoop@server201 app]$ /app/hadoop-3.2.3/sbin/start-dfs.sh [hadoop@server201 app]$ /app/hadoop-3.2.3/sbin/start-yarn.sh
使用hive 脚本登录Hive 命令行界面时,Hive 要访问Hadoop 的core-site.xml 文件,并访问fs.defaultFS 所指的服务器。
接下来初始化Derby 元数据库,注意这个Derby 是Hive 内嵌的,不支持多个Hive 客户端连接:
[hadoop@server201 app]# cd /app/hive-3.1.3/bin [hadoop@server201 bin]#./schematool -initSchema -dbType derby
登录Hive 的命令行:
[hadoop@server201 ~]$ hive hive>
登录Hive 的命令行后,就可以学习基本的SQL 操作命令了。
(4)类似于MySQL的SQL命令,都可以在Hive下运行。
比如,查看所有数据库:
hive> show databases; OK default Time taken: 0.025 seconds, Fetched: 1 row(s)
查看默认数据库下的所有表:
hive> show tables; OK Time taken: 0.035 seconds 创建一个表,并显示这个表的结构: hive> create table stud(id int,name varchar(30)); OK Time taken: 0.175 seconds hive> desc stud; OK id int name varchar(30) Time taken: 0.193 seconds, Fetched: 2 row(s)
Hive 安装成功了,接下来就可以开始学习HQL 的操作了。
本文节选自《 Hive 入门与大数据分析实战》,内容发布获得作者和出版社授权。
