2014-12-05 63 views
1

我正在使用Hbase配置單元。所以,我在HBase的創建一個表:編輯映射配置單元/ Hbase

Create 'tableHbase' 'd' 

,並創建我的蜂巢表是這樣的:

CREATE EXTERNAL TABLE IF NOT EXISTS hbaseTable_hive(key String, c1 string, c2 string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,d:c1,d:c2")TBLPROPERTIES ("hbase.table.name" = "hbaseTable"); 

但現在我想現在如果有可能:

1-當我在hbase中添加一個新列(d:c3)c3的值不能在Hive中顯示。是否有可能在沒有編輯或重新創建配置單元表的情況下在配置單元中看到它。

2-編輯此映射(例如添加一個新列(c3字符串))。而不刪除配置單元表並重新創建它。

預先感謝您。

回答

0

1或2都不可能。

  • #1:Hive需要從hbase列顯式映射,所以..沒有..配置單元不會看到它沒有更新映射。
  • #2配置單元「alter table」語法不支持#2。您需要刪除並使用更新的映射重新創建配置單元表。
+0

好的,謝謝:) – 2015-01-06 13:24:00