我可以在HBase的配置單元中創建外部表,現在我需要創建一個具有可變列的外部表,這意味着HBase中的列不針對特定表,列的數量並且可以在數據插入時動態創建,應該如何處理這種情況。如何爲hbase創建外部表
總結:如何在HBase表中未修復任何列的情況下在hive中創建外部表。
在此先感謝。
我可以在HBase的配置單元中創建外部表,現在我需要創建一個具有可變列的外部表,這意味着HBase中的列不針對特定表,列的數量並且可以在數據插入時動態創建,應該如何處理這種情況。如何爲hbase創建外部表
總結:如何在HBase表中未修復任何列的情況下在hive中創建外部表。
在此先感謝。
創建表中HBASE殼
create 'hbase_2_hive_names', 'id', 'name', 'age'
將數據裝載到HBASE(輸入文件必須在HDFS)
export HADOOP_CLASSPATH=$(/usr/local/hbase/bin/hbase classpath);$HADOOP_HOME/bin/hadoop jar /usr/local/hbase/hbase-0.94.1.jar importtsv -Dimporttsv.columns=HBASE_ROW_KEY,id:id,name:fn,name:ln,age:age hbase_2_hive_names /var/data/samples/names.tsv
創建在蜂房外部表外殼
CREATE EXTERNAL TABLE hbase_hive_names(hbid INT, id INT, fn STRING, ln STRING, age INT) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,id:id,name:fn,name:ln,age:age") TBLPROPERTIES("hbase.table.name" = "hbase_2_hive_names");
您認爲這樣會怎樣? – 2012-04-06 04:05:50
我得到了一些解決方案,我也會在這裏發佈,這將幫助其他人如果需要 CREATE EXTERNAL TABLE shashwat(key int,value map) > STORED BY'org.apache.hadoop.hive.hbase。 (「hbase.columns.mapping」=「:key,demo:」)HBaseStorageHandler' > TBLPROPERTIES(「hbase.table.name」=「hbase_shashwat」); –
Infinity
2012-04-06 18:44:30