作者:手机用户2602918007 | 来源:互联网 | 2023-08-29 16:20
1、什么是HIVE Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapR
1、什么是HIVE
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
2、HIVE部署架构
HIVE部署架构
3、HIVE的源码编译
1、下载源码包hive-1.1.0-cdh5.7.0-src.tar.gz 并解压
wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0-src.tar.gz
tar -xzvf hive-1.1.0-cdh5.7.0-src.tar.gz -C ~/source
2、编译
切换到HIVE文件夹内编译
[hadoop@hadoop000 source]$ cd hive-1.1.0-cdh5.7.0/
[hadoop@hadoop000 source]$ mvn -Phadoop-2 -Pdist -DskipTests -Dmaven.javadoc.skip=true clean package
然后 等等等等。。。。!!!!
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 18:22 min
Finished at: 2018-06-05T20:52:45+08:00
[INFO] Final Memory: 154M/494M
[INFO] ————————————————————————
编译完成后在/home/hadoop/source/hive-1.1.0-cdh5.7.0/packaging/target目录下有一个bin.tar.gz文件
4、安装部署
1、解压安装包至app
tar -zxvf hive-1.1.0-cdh5.7.0.tar.gz -C ~/app/
2、修改环境变量并生效
vi ~/.bash_profile
export HIVE_HOME=/home/hadoop/app/hive-1.1.0-cdh5.7.0
export PATH=$HIVE_HOME/bin:$PATH
source ~/.bash_profile
3、拷贝mysql驱动至$HIVE_HOME/lib
官网下载mysql驱动:https://dev.mysql.com/downloads/connector/j/5.0.html
解压至~/lib: tar -zxvf mysql-connector-java-8.0.11.tar.gz -C ~/lib/
拷贝至HIVE_HOME/lib:cp mysql-connector-java-8.0.11 $HIVE_HOME/lib
4、修改配置文件
复制hive-env.sh修改HADOOP_HOME cp hive-env.sh.template hive-env.sh
HADOOP_HOME=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0
创建hive-site.xml:cat hive-site.xml
hive-sete.xml配置
5、配置完后启动hadoop和mysql ,测试HIVE
hive> show databases;
OK
default
ruozedata
Time taken: 0.702 seconds, Fetched: 2 row(s)