Hive映射HBase表的方法
HBase比较适合key-value形式的存储和查询,对于多条件查询的情况,查询效率基本依赖rowkey的设计。对于实时性要求不高的情况,可以通过Hive进行离线查询。这时需要在Hive中建立一张可以映射到HBase的表以便进行查询。 假设有张HBase的表queryword
,设计如下。 | rowkey | s | | - | :-: | -: | | md5(word)[8:-8] + timestamp | word, pv, uv, date | Hive中建立映射的方式如下 create external table queryword (id string, word string, pv string, uv string, date string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping"=" :key, s:word, s:pv, s:uv, s:date"); 需要注意的有下面几点 - 表名前需要指明external
,告诉Hive这是一个已经存在的外部表 - 通过org.apache.hadoop.hive.hbase.HBaseStorageHandler
指定这是HBase里的表 - HBase和Hive中的字段需要一一对应 执行完创建表语句之后就可以在hive里进行查询了
本文转载自异步社区
原文链接:https://www.epubit.com/articleDetails?id=Nde7e5c0a-2c67-4569-af6b-edefee1640eb
- 点赞
- 收藏
- 关注作者
评论(0)