2015-10-05 124 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

能否請你給我一個例子嗎? –