将hbase表与counter列映射到外部hive表?

时间:2016-12-01 08:54:05

标签: hive hbase

我正在尝试在hive中映射表以查看hbase表。我这样做没有几个列的问题,但我不确定如何使用计数器列进行管理。这可能吗?

当我扫描hbase表时,计数器列的示例值为\x00\x00\x00\x00\x00\x00\x00\x01

我怀疑我在hive表中错误地设置了列类型。我尝试过int和string(在hive视图中都只显示空值)。有没有更好的方法从这个值获得增量数?理想的世界将是蜂巢中的一列,它是所有增量的总和,我假设。

完全有可能我误解了查看计数器的可能性(或计数器最初设置的方式)。

1 个答案:

答案 0 :(得分:1)

结束了对cloudera社区this link的回答。

答案是将hive表中的计数器列定义为bigint,并定义添加到末尾的'#b'的SERDEPROPERTIES,以指示hbase列类型为二进制。

例如:

create external table md_extract_file_status ( table_key string, fl_counter bigint)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,colfam:FL_Counter#b )
TBLPROPERTIES('hbase.table.name' ='HBTABLE');