Hive 如何在配置单元表中将HBase行键拆分为2列

Hive 如何在配置单元表中将HBase行键拆分为2列,hive,hbase,external-tables,Hive,Hbase,External Tables,HBase表 rowkey:2020-02-02^ghfgewr3434555,cf:1时间戳=1604405829275,值=true rowkey:2020-02-02^ghfgewr3434555,cf:2时间戳=1604405829275,值=true rowkey:2020-02-02^ghfgewr3434555,cf:3时间戳=1604405829275,值=false rowkey:2020-02-02^ghfgewr3434555,cf:4时间戳=1604405829275,值

HBase表 rowkey:2020-02-02^ghfgewr3434555,cf:1时间戳=1604405829275,值=true rowkey:2020-02-02^ghfgewr3434555,cf:2时间戳=1604405829275,值=true rowkey:2020-02-02^ghfgewr3434555,cf:3时间戳=1604405829275,值=false rowkey:2020-02-02^ghfgewr3434555,cf:4时间戳=1604405829275,值=false

将HBase数据传输到配置单元表中,如下所示

蜂箱台 日期========Id=====cf:no==boolean 2020-02-02===ghfgewr3434555==1==true 2020-02-02===ghfgewr3434555==2==true 2020-02-02===ghfgewr3434555==3==false
2020-02-02====ghfgewr3434555==4===false

如果您只想将其传输给查询,那么您实际上可以在配置单元中创建到该表的连接,并指定属性

CREATE TABLE foo(rowkey STRING, a STRING, b STRING)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’
WITH SERDEPROPERTIES (‘hbase.columns.mapping’ = ‘:key,f:c1,f:c2’)
TBLPROPERTIES (‘hbase.table.name’ = ‘bar’);
正确的文件在此:

我已经用2个表/视图解决了这个问题。第一个是HBase表中的数据,第二个是表/视图,将rowkey拆分为两列

配置单元中的第一个表查询

使用SERDEPROPERTIES hbase.columns.mapping=cf:1b,cf:2b TBLPROPERTIES hbase.TABLE.name=hbase\u TABLE创建由“org.apache.hadoop.hive.hbase.HBaseStorageHandler”存储的外部表hbase\u配置单元\u TABLE键字符串、t1布尔值、t2布尔值

配置单元中的第一个表/视图查询

创建视图(如果不存在)hbase\u配置单元\u视图为
选择CONCTNS.rowkey[0]作为日期,选择CONCTNS.rowkey[1]作为请求id,选择splitkey中的t1、t2,选择hbase配置单元表CONCTNS中的“\^”作为rowkey,选择t1、t2

是的,可以使用查询。但是我需要把钥匙分成两行。2020-02-02^ghfgewr343455是一个键,我需要分成两部分,一部分是日期,另一部分是配置单元表中的Id。如何在将数据从HBase传输到hive时拆分密钥?