你好,游客 登录 注册 搜索
背景:
阅读新闻

通过hive查看hbase中的表

[日期:2014-11-26] 来源:Helianthus_lu博客  作者:Helianthus_lu [字体: ]

初涉Hive,因此只能踏踏实实按部就班的仿照教程联系。记录下学习过程,帮助加深印象。

 1)使用如下命令将现有的HBaseinterest映射为Hivehbase_interest_temp

 这里需要做些说明和解释:

    在这一步操作中,创建了一张外部hive表,用它来映射一张已有的HBase表。外部Hive表使用create external table语句来定义。在删除外部表时,HBase中的数据并不会被删除掉。若要在HBase上创建一张Hive表,需要使用org.apache.hadoop.hive.hbase.HBaseStorageHandler类作为其存储处理类。我们必须使用一个逗号分隔hbase.columns.mapping字符串来将每个hive列映射为对应的hbase列或者列族。注意:各项之间不能包含有空白字符。在映射HBase行键时,必须使用:key来表示。没有必要对每个HBase列都进行映射,只要映射那些Hive需要访问的列就可以了。Hbase.table.name是一个可选属性,如果不指定该属性,该表就会在HiveHBase中使用相同的名字。(  大多数情况下,每个Hive查询都会被翻译为一个mapreduce任务。)

 2)通过上一步在Hive中映射的那张表查询HBase表的数据

 

 可以看出,Hive中所使用的语言就是和SQL很类似的语言。

 想通过hive查看HBase表的全部内容:

 下图是通过HBase shell查看到的HBase中的表

 

 接下来从Hive接口去查看HBase中的表:

 

 3)小结:Hive作为HBase批量处理数据的一个交互接口,使用类SQL语言,因此 这就使得熟悉数据库操作的程序员易于上手和掌握。但是虽然Hive在批量查询处理有很好的效率,但是却不适合那些对实效性要求严的场合,因为它每次的运行 都要跑一个mapreduce程序,这个过程是耗时的。

注:主要参考《HBase管理指南》

原文链接:http://blog.chinaunix.net/uid-27177626-id-4640788.html





收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款