我有一个上述格式的hbase表:
key : userId#country
column family: k
columns: date#visits, visits
如何制作一个看起来像这样的蜂巢表:
userId, date, country, visits
我试图通过列映射来解决问题,到目前为止我只能设法做到这一点:
CREATE EXTERNAL TABLE hbase_table(key string, visits int)
ROW FORMAT DELIMITED
COLLECTION ITEMS TERMINATED BY '#'
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,k:visits")
TBLPROPERTIES ("hbase.table.name" = "kpi");
我这几个小时都在工作,并没有取得多大进展。有人可以指出我正确的方向吗?
我发现了如何将hbase密钥映射到hive行,这不是我想要的,但它有助于......:
CREATE EXTERNAL TABLE hbase_table(key struct<id:string, country:string>, visits int)
ROW FORMAT DELIMITED
COLLECTION ITEMS TERMINATED BY '#'
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,k:visits")
TBLPROPERTIES ("hbase.table.name" = "kpi");
答案 0 :(得分:0)
userId是否是你家族'k'中的一个coulmn?如果是,那么不要在映射中给出“:key”。尝试给出“k:userId”