边肖将与您分享Hive源代码编译的示例分析。相信大部分人还不太了解,所以分享这篇文章给大家参考。希望你看完这篇文章后收获多多。让我们一起来发现吧!
Hive简介:
Hive是一个基于Hadoop的数据仓库,可以将结构化数据映射成表,并提供类似SQL的功能。它最初是由facebook提供的,使用HQL作为查询接口,HDFS作为存储底层,MapReduce作为执行层。设计目的是让SQL技能变好,但是Java技能弱的分析师却可以查询海量数据。2008年,脸书为阿帕奇贡献了蜂巢项目。Hive提供相对完整的SQL函数(本质是将SQL转换成MapReduce),其最大的缺点是执行速度慢。Hive有自己的元数据结构描述,可以存储在MySql \ ProstgreSql \ oracle等关系数据库中,但请注意Hive中的所有数据都存储在HDFS。Hive具有良好的灵活性和可扩展性,支持UDF,定义存储格式,适合离线数据处理。
Hive体系架构:
1.用户界面:包括CLI、客户端和wui。最常用的是CLI,它是shell命令行。当命令行界面启动时,配置单元的副本将同时启动。客户端配置单元是客户端配置单元的客户端,用户连接到配置单元服务器。当启动客户端模式时,您需要指出配置单元服务器所在的节点,并在该节点启动配置单元服务器。WUI将通过浏览器访问蜂巢。
2.元数据存储:通常存储在关系数据库中,如mysql、derby。
3.解释器、编译器、优化器和执行器:从词法分析、语法分析、编译、优化和查询计划完成HQL查询语句的生成。生成的查询计划存储在HDFS,然后由MapReduce调用执行。
4.4中的数据。Hadoop:Hive由HDFS存储,MapReduce计算。
Hive源码编译:
我们选择CDH版本进行编译,以hive-1.1.0-cdh6.7.0版本为例。
准备工作:
1.配置jdk1.7环境。
2.安装maven。
3.安装hadoop-2.6.0-cdh6.7.0环境(版本号应对应hive)。
注意:我前期用的是Apache版本的hadoop,现在已经改成CDH版本了。
1.下载并解压源码包hive-1.1.0-cdh6.7.0-src.tar.gz
#下载地址:http://archive.cloudera.com/cdh6/cdh/5/
[root@hadoop000~]#su-hadoop
[hadoop@hadoop000~]$cdsource
[Hadoop @ Hadoop 000 source]$ wget http://archive . cloud era.com/CDH 6/CDH/5/hive-1 . 1 . 0-CDH 6 . 7 . 0-src . tar . gz
[Hadoop @ Hadoop 000 source]$ tar-xzvfhive-1 . 1 . 0-CDH 6 . 7 . 0-src . tar . gz
2.编译
[Hadoop @ Hadoop 000 source]$ cdhive-1 . 1 . 0-CDH 6 . 7 . 0
#这需要一段时间。
[Hadoop @ Hadoop 000 hive-1 . 1 . 0-CDH 6 . 7 . 0]$ mvn-Phadoop-2-Pdist-DSKipTests-Dmaven . javadoc . skip=true clean package
.
.
[INFO]HiveODBC......成功[5.811s]
[信息]HiveShimsAggregator....成功[0.755秒]
[信息]HiveTestUtils.....成功[1.294s]
[信息]HivePackaging.....成功[01:41分钟]
[INFO] -
[信息]建筑成功
[INFO] -
[信息]总时间:18:22分钟
[信息]完成时间:2018-06-02t 11:37:54 08:00
[信息]最终内存:144M/494M
[INFO] -
#成功编译会在源目录下的打包/目标目录中生成一个tar包,在这个tar包中可以找到相关的hive模块jar包。
姓名:apache-hive-1.1.0-cdh6.7.0-bin.tar.gz
#你可以用这个包安装Hive,也可以直接从这个网站http://archive.cloudera.com/cdh6/cdh/5/.下载对应版本的编译安装包以上就是文章《Hive源代码编译示例分析》的全部内容,感谢阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/142069.html