Hive 大数据仓库构建与应用—以大陆在美上市股票数据为例
2021-05-07
(西安欧亚学院,陕西 西安 710000)
1 Hive 数据仓库简介
Hive 是基于Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL 查询功能。其优点是学习成本低,用户可以通过类SQL 语句快速实现简单的MapReduce 统计,即使用户不熟悉MapReduce 程序,只要熟悉SQL 语言,也同样可以通过分布式集群环境进行数据查询、汇总和分析,Hive 十分适合数据仓库的统计分析。
Hive 的类SQL 语言HiveQL,并不完全支持SQL 标准,Hive 大多数的查询是通过MapReduce 实现,而数据库通常有自己的执行引擎,Hive 不支持更新操作、索引和事务,其子查询和连接操作也存在很多限制。Hive查询数据延迟性较高,是由于没有索引,需要扫描整个数据库表,而且HQL 转换为MapReduce 程序后,执行也有延迟。相对来说,数据库延迟较低;但是如果数据规模非常大的时候,Hive 的并行计算就能体现出优势。
2 Hive 数据仓库搭建与启动
2.1 Hive 数据仓库搭建流程
(1)配置Hive 前,需要给集群服务器配置元数据库,在这里采取MySQL 作为元数据库,服务器上先安装MySQL,并启动MySQL 服务。
(2)本地MySQL 环境已经配置好,下载并解压hive 插件:
[root@master opt]# tar -zxvf apache-hive-2.1.1-bin.tar.gz
[root@master opt]# mv apache-hive-2.1.1-bin hive
(3)接下来配置Hive 环境变量,修改/root/.bash_profile 文件,添加如下环境变量内容:
export HIVE_HOME=/opt/hive
export PATH=$PATH:$HIVE_HOME/bin
(4)修改/opt/hive/conf/下面的所有配置文件,通过mv 命令将所有文件后缀的“.template”去掉。
(5)修改hive 执行脚本文件hive-env.sh,添加内容如下:
export HIVE_CONF_DIR=/opt/hive/conf/
export HIVE_AUX_JARS_PATH=/opt/hive/lib/
(6)配置好后,将hive 所有文件分别传递到slave1和slave2。
(7)配置服务端和客户端的hive-site.xml 文件。
(8)配置java 连接mysql 的驱动包。
(9)修改slave1和slave2所需要的Hive 环境变量并加载生效。
2.2 Hive 数据仓库启动与监控
Hive 运行需要先启动Hadoop 服务,再启动MetaStore 服务和hiveserver2 服务。Metastore 即hivestore 服务端,主要功能是提供将DDL,DML 等语句转换为MapReduce 程序,提交到hdfs 集群并运行中。……
