2014-12-05 47 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