【问题标题】:Mapping hbase table with counter column to external hive table?将带有计数器列的 hbase 表映射到外部配置单元表?
【发布时间】:2016-12-01 08:54:05
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: hive hbase


    【解决方案1】:

    最终通过 cloudera 社区的this link 找到答案。

    答案是将 hive 表中的 counter 列定义为 bigint,并定义 SERDEPROPERTIES,并在末尾添加 '#b' 表示 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');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-04
      • 2016-11-30
      • 2016-07-31
      相关资源
      最近更新 更多