大数据学习系列之九----Hive整合Spark和HBase以及相关测试
前言
在之前的大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 中介绍了集群的环境搭建,但是在使用hive进行数据查询的时候会非常的慢,因为hive默认使用的引擎是MapReduce。因此就将spark作为hive的引擎来对hbase进行查询,在成功的整合之后,我将如何整合的过程写成本篇博文。具体如下!
创新互联公司是少有的网站建设、成都网站建设、营销型企业网站、微信平台小程序开发、手机APP,开发、制作、设计、卖链接、推广优化一站式服务网络公司,从2013年创立,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
事前准备
在进行整合之前,首先确保Hive、HBase、Spark的环境已经搭建成功!如果没有成功搭建,具体可以看我之前写的大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 这篇文章。
那么开始将hive、hbase、spark整合吧。
目前集群的配置如下:
注:其实也是可以使用hive的Api ,就是普通的JDBC连接,只不过连接驱动要换成
Class.forName("org.apache.hive.jdbc.HiveDriver");
具体实现可以看我的github中的代码:https://github.com/xuwujing/pancm_project/blob/master/src/main/java/com/pancm/test/hiveTest/hiveUtil.java
结论:使用 hive on spark 查询可以看出,如果查询条件是主键,也就是hbase中的rowkey的话,查询100w数据可以在2.3s左右就查出来了(个人感觉打开spark估计就要用2s左右,如果量大的话,速度估计也不会很慢), 但是如果使用非主键的条件去查询,就可以看到速度明显变慢了。
所以在使用 hive on hbase 的时候,尽量使用rowkey进行查询。
后记
其实集群的环境搭建以及整合在我写第一篇大数据学习系列博客的时候就已经搭建好了。至于博客为什么写得这么迟,第一点是当初搭建环境的时候,并没有真正的理解那些配置的作用;第二点是环境搭建有些莫名其妙,经常出现问题,不过大部分问题和解决反感我都记录并写成博客了,所以慢慢写博客其实也是个人知识的重新整理;第三是个人的精力有限,无法一口气将这些都写成博客,毕竟写博客也需要一定时间和精力的。
完成本篇博文之后,暂时先不写大数据这方面的博客了。感觉目前的自己能力还不够,如果就这样勉强的去自学,估计也很难学到知识点,更何况将其写成博客来讲解了。所以目前就先放放,有能力之后再来续写!
大数据学习系列的文章:http://blog.csdn.net/column/details/18120.html
当前题目:大数据学习系列之九----Hive整合Spark和HBase以及相关测试
分享网址:http://cdiso.cn/article/jesisi.html