我正在尝试在hive中映射表以查看hbase表。我这样做没有几个列的问题,但我不确定如何使用计数器列进行管理。这可能吗?
当我扫描hbase表时,计数器列的示例值为\x00\x00\x00\x00\x00\x00\x00\x01
。
我怀疑我在hive表中错误地设置了列类型。我尝试过int和string(在hive视图中都只显示空值)。有没有更好的方法从这个值获得增量数?理想的世界将是蜂巢中的一列,它是所有增量的总和,我假设。
完全有可能我误解了查看计数器的可能性(或计数器最初设置的方式)。
答案 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');