#Hadoop# #大数据# #Hive# #数据仓库# #HDFS#
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。操作接口采用类SQL语法,提供快速开发的能力。避免了去写MapReduce,减少开发人员的学习成本。
用户接口主要由三个:CLI、JDBC/ODBC和WebGUI。其中,CLI为shell命令行;JDBC/ODBC是Hive的JAVA实现,与传统数据库JDBC类似;WebGUI是通过浏览器访问Hive。
元数据存储:Hive 将元数据存储在数据库中,通常是存储在关系数据库如 mysql , derby。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
解释器、编译器、优化器完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有 MapReduce 调用执行。
扩展功能很方便。
![fee17bffeb84cb748d8781e8b1119986.png](https://i-blog.csdnimg.cn/blog_migrate/18d0f53c55efc0d92b977627f0223c7e.jpeg)
Hive利用HDFS存储数据,利用MapReduce查询数据。执行延迟较RDBMS高,处理规模较RDMS大,适合用来做批量数据统计分析。
![53de48f95017524ad74707d953d1a413.png](https://i-blog.csdnimg.cn/blog_migrate/90d1d34aeba41e19c6712288ec90efda.jpeg)
元数据
![931e468b9fded4924a245957600c88f0.png](https://i-blog.csdnimg.cn/blog_migrate/a6b92f36fbfc8bfc5c72821c6ed9f401.jpeg)
1.1 Hive下载:CDH(网站不显示,可以直接下载)
http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.9.0.tar.gz
1.2 配置hive-env.sh
前置条件:hdfs。
配置hadoop目录:
export HADOOP_CLASSPATH=/opt/module/hadoop-2.6.0/ect/hadoop
export HADOOP_HOME=/opt/module/hadoop-2.6.0
1.3 配置hive-site.xml:
配置禁用本地元数据存储:
hive.metastore.local
false
配置mysql的jdbc连接URL:
javax.jdo.option.ConnectionURL
jdbc:mysql://172.18.0.5:3306/hive?createDatabaseIfNotExist=true
配置mysql的jdbc连接用户名:
javax.jdo.option.ConnectionUserName
root
配置mysql的jdbc连接密码:
javax.jdo.option.ConnectionPassword
root
配置mysql的jdbc连接驱动名称
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
hbase-site.xml
hive.metastore.local
false
禁用本地元数据存储,防止重启后数据丢失
javax.jdo.option.ConnectionURL
jdbc:mysql://172.18.0.5:3306/hive?createDatabaseIfNotExist=true
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
root
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
hbase.zookeeper.quorum
hadoop-senior01.test.com:2181,hadoop-senior01.test.com:2181,hadoop-senior01.test.com:2181
1.4 copy驱动到hive的lib目录
驱动从maven下载,可以使用8.0版本。
![ad6d24f59c9827f1d88585a34134e4f5.png](https://i-blog.csdnimg.cn/blog_migrate/71940aed82816f3b445646ec7d83072e.jpeg)
1.5 启动:bin/hive
![6e488245fd09eb04ce60689484a400ff.png](https://i-blog.csdnimg.cn/blog_migrate/b3a7be47653f40d1e83e1b42f570e613.jpeg)
1.6 启动元数据、远程数据服务:bin/hive
[hadoop ~]# nohup hive --service metastore >> ~/metastore.log 2>&1 & ##hivemetastore
[hadoop ~]# nohup hive --service hiveserver2 >> ~/hiveserver2.log 2>&1 & ##hiveserver2,jdbc连接需要