2015-10-05 126 views
1

我需要将Hive表映射到HBase。 我的蜂巢表由三列名字符串,字符串的程度,主要串如何将Hive表映射到HBase中?

的我不知道怎么填进空白(??)

CREATE TABLE hbase_table(??, ??, ??, ...) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "??") 
TBLPROPERTIED ("hbase.table.name" = "hbase_table"); 

回答

1

我们可以使用下面的查询: -

CREATE TABLE hbase_table(key int,name string,degree string,major string) 
    STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
    WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val1,cf1:val2,cf1:val3") 
    TBLPROPERTIED ("hbase.table.name" = "hbase_table"); 
+0

在你的答案中创建了HBase表之后,我执行了“INSERT OVERWRITE TABLE hbase_table SELECT * FROM hive_table(它由三列 - 名称字符串,度数字符串,主字符串组成)”,它导致错误,如Table insclause-0 has 4列,但查询有3列,如何解决这个问题? –

+0

在你的蜂巢查询中给出一些常数,例如,从hive_table中选择100,名称,学位,专业 – madhu

+0

你明白了吗...... – madhu

0

你需要创建一个表,一个列家族,它可以在列家族中有3列。 请参阅Hbase手册以获取表格创建命令。

+3

能否请你给我一个例子吗? –