有一個空HBase的表有兩個列族:對HBase的現存表的頂部定義蜂巢外部表
create 'emp', 'personal_data', 'professional_data'
現在我想一個蜂巢外部表映射到它,這將自然有一些列:
CREATE EXTERNAL TABLE emp(id int, city string, name string, occupation string, salary int)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":id,
personal_data:city,
personal_data:name,
professional_data:occupation,
professional_data:salary")
TBLPROPERTIES ("hbase.table.name" = "emp", "hbase.mapred.output.outputtable" = "emp");
現在,我得到的錯誤是這樣的:
FAILED:執行錯誤,從 org.apache.hadoop.hive.ql.exec.DDLTask返回代碼1。 java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.SerDeException org.apache.hadoop.hive.hbase.HBaseSerDe:columns has 5 elements while hbase.columns.mapping has 6 elements(計數的關鍵如果隱含))
你能幫我嗎?難道我做錯了什麼?
但是,它會將Hive id列映射到Hbase密鑰?或者我出錯了?謝謝你的回答:) – Dennis
是的,我重新閱讀了幾次文檔,它讓我非常困惑。非常感謝cheseaux!它完美的作品。祝你有美好的一天。 – Dennis