基本概念
Hive是基于hadoop的一个数据仓库工具,是一种编程接口,处理结构化数据,将结构化的数据文件映射成表,并提供类SQL查询功能。
本质:将HQL转化为MR程序。
优缺点:
优点:采用类SQL语法,易上手;避免写MR程序,减少学习成本;吞吐量大;支持用户自定义函数
缺点:表达能力有限(受限于MR编程模型);调优困难,粒度较粗
Hive架构原理
Hive安装及配置
Hive的安装很简单,解压安装包即可。
Hive需要修改的配置:
hive-env.sh文件
export HADOOP_HOME=/usr/local/src/hadoop-2.10.0
export HIVE_CONF_DIR=/usr/local/src/hive-2.3.6/conf
Hive默认使用第三方的Derby数据库存储元数据,也可以使用MySQL代替Derby。
通过执行bin/hive进去hive的交互式界面,hive的语法和常规的数据库语法非常类似。
使用MySQL替换Derby
直接下载rpm包安装,然后配置hive的配置文件hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hdp-master1:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name