分享

hbase和hive整合问题

linguobao 发表于 2014-6-24 10:31:33 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 16680
系统环境:hadoop2.2+hbase0.98+hive0.12
hbase0.98每天要新增1亿条记录,目前hbase只提供查询功能,正在整合hvie和hbase,使用hive统计和分析hbase表。遇到如下问题:
想把hive设计成分区表,预期设计成按天的,方便统计。但是hbase和hive的整合过程中,hive分区表不太好弄,有没有做过这方面的,请指点下哈。

已有(4)人评论

跳转到指定楼层
sstutu 发表于 2014-6-24 13:39:55
个人建议,你也可以说出自己想法,咱们相互讨论。

hive每一个分区其实就是一个文件,对于hbase一个表一个文件夹,并且这个文件夹里的还有文件进行裂变。
在这个整合的过程中,
(1)可以通过下面的方式创建映射表:

  1. CREATE TABLE hbase_table_1(key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES ("hbase.table.name" = "xyz");
复制代码


(2)还有另外一种方式就是创建外部表

你可以先尝试第一种,如果他们支持分区的话,这个应该不是问题。
回复

使用道具 举报

gefieder 发表于 2014-6-25 08:58:57
hive分区还是比较好分的,关键是二者整合就不太好分区了。
你可以先对habse使用预分区,然后对hive创建外部表。
预分区的时候,关键是怎么才能让一天的数据都跑到同一个region里面,你可以在rowkey里面增加时间,至于怎么放,你可以自己来决定。
然后在hive中,在创建外部分区表。
回复

使用道具 举报

gefieder 发表于 2014-6-25 09:01:19
然后补充,如果数据量不断增大该怎么办?你可以根据自己的情况,增加预分区。比如一年、或则半年,这个根据自己的场景
回复

使用道具 举报

linguobao 发表于 2014-6-25 10:48:47
谢谢各位的指点
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条