将Hive映射到Hbase时用于rowkey的数据类型

时间:2016-06-18 08:39:26

标签: hive hbase

我正在尝试在现有的Hbase表上创建一个Hive表,如下所示:

create external table h2h (
    key int -- int or string?
    col1 string
)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties ('hbase.columns.mapping' = ':key,info:col1');

official doc演示了key的几种数据类型。

如何确定映射到Hbase表中key的列rowkey的数据类型?

1 个答案:

答案 0 :(得分:1)

要完全回答这个问题,应该指出HBase密钥存储为字节数组。这样做是为了灵活性,因为客户端可以存储任何类型的数据。所以,HBase并没有真正的类型概念。 这种方法非常灵活,但让用户知道如何序列化/反序列化数据的负担,也就是说,您应该查看一些数据样本或查看创建/更新表的代码并查看用作的内容键。

尝试hbase,如下所示

 scan 'h2h', {COLUMNS => ['info'], LIMIT => 3 }

查看你得到的密钥是int还是字符串。