无法有效Map配置单元表中的hbase行键

xxb16uws  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(405)

我有一个hbase表,其中rowkey如下所示。

08:516485815:2013 1
06:260070837:2014 1
00:338289200:2014 1

我使用下面的查询创建一个配置单元链接表。

create external table hb
(key string,value string)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties("hbase.columns.mapping"=":key,e:-1")
tblproperties("hbase.table.name"="hbaseTable");

当我查询这个表时,我得到了下面的结果

select * from hb;

08:516485815 1
06:260070837 1
00:338289200 1

这对我来说很奇怪。为什么serde不能Maphbase键的全部内容?配置单元表在第二个“:”之后丢失了所有内容
有人遇到过类似的问题吗?

rbpvctlc

rbpvctlc1#

我尝试在hbase 1.1.2和hive 1.2.1000上重新创建您的场景,它按预期工作,并且我能够从hive获得整个rowkey。

hbase>   create 'hbaseTable','e'
hbase>   put 'hbaseTable','08:516485815:2013','e:-1','1'
hbase>   scan 'hbaseTable'
    ROW                                                         COLUMN+CELL
     08:516485815:2013                                          column=e:-1, timestamp=1519675029451, value=1
    1 row(s) in 0.0160 seconds

因为我有08:516485815:2013作为rowkey,我已经创建了hive表

hive> create external table hb
    (key string,value string)
    stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
    with serdeproperties("hbase.columns.mapping"=":key,e:-1")
    tblproperties("hbase.table.name"="hbaseTable");
 hive> select * from hb;
    +--------------------+-----------+--+
    |       hb.key       | hb.value  |
    +--------------------+-----------+--+
    | 08:516485815:2013  | 1         |
    +--------------------+-----------+--+

您能确保您的hbase表rowkey在第二个之后有数据吗:。

相关问题