我正在尝试将具有两列族的hbase表移到配置单元表中。我可以移动一个列族,但如何在同一个配置单元表中移动另一个列族。
编辑:
我把一个一栏的家庭搬到了下面。
CREATE TABLE hbase_hive(key string, firstname string, age string)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’
WITH SERDEPROPERTIES (“hbase.columns.mapping” = “id:firstname,id:age")
TBLPROPERTIES(“hbase.table.name” = “hl”);
但我还有一个姓的专栏 hb
有三列。如何做到这一点。
更新:
我还尝试添加不同列族的列名,下面是我的代码。
CREATE TABLE hbase_hive(key string, firstname string, age string, testname string)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’
WITH SERDEPROPERTIES (“hbase.columns.mapping” = “id:firstname,id:age,pd:name")
TBLPROPERTIES(“hbase.table.name” = “hl”);
但我得到的结果如下:
819215975 19391121 625678921720 NULL
819617215 19570622 625116365890 NULL
820333876 19640303 623221670810 NULL
824794938 19531211 625278010070 NULL
828093442 19420803 625284904860 NULL
828905771 19320209 625078004220 NULL
829832017 19630722 625178010070 NULL
我得到的不是值,而是null。
更新:
我尝试在hbase shell中使用以下命令创建hbase表
create ‘hl’,’id’
然后我使用下面的命令创建了一个列族
alter ‘hl’,’pd’
2条答案
按热度按时间fafcakar1#
在hiveql中,从hbase表“hl”到hive表中选择列族“id”中的两列。如果您想添加更多的列(甚至来自其他列族),您只需要将它们添加到表模式和
hbase.columns.mapping
. 例如:看到了吗https://cwiki.apache.org/confluence/display/hive/hbaseintegration#hbaseintegration-多列和族
pobjuy322#
我看到你写的东西有几个问题(或多或少严重):
首先,我要创建一个
EXTERNAL TABLE
相反您正在创建一个只有3列的配置单元表,但最后需要4列
您没有显式Map
:key
“firstname”和“age”的数据看起来像是随机数!:|我无法测试它,但以下应该是一个更好的起点: