首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编辑映射蜂巢/Hbase

问编辑映射蜂巢/Hbase
EN

Stack Overflow用户
提问于 2014-12-05 11:21:58
回答 2查看 884关注 0票数 1

我在用Hbase和蜂巢。因此,我在hbase中创建了一个表:

代码语言:javascript
复制
Create 'tableHbase' 'd'

像这样创建我的蜂巢表:

代码语言:javascript
复制
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");

但现在,如果有可能的话,我想:

当我在hbase (d: c3 )中添加一个新列时,c3的值不能显示在Hive中。是否有可能在不编辑或重新创建蜂巢表的情况下在蜂巢中看到它。

2-编辑此映射(例如添加一个新列(c3字符串))。而不删除hive表并重新创建它。

提前谢谢你。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-13 14:33:30

1或2都不可能。

  • #1: Hive需要来自hbase列的显式映射,所以..。不..。如果没有对映射的更新,hive将不会看到它。
  • #2单元格"alter“语法不支持#2,您需要删除并重新创建带有更新映射的hive表。
票数 0
EN

Stack Overflow用户

发布于 2018-06-18 08:09:44

不能更改外部表的SERDER属性。您可以做的是删除表和外部源之间的链接。如果是Hbase表,则可以这样做:

  1. ALTER MY_HIVE_TABLE SET TBLPROPERTIES('hbase.table.name'='MY_HBASE_NOT_EXISTING_TABLE')NB:MY_HBASE_NOT_EXISTING_TABLE`必须是一个不存在的表。
  2. DROP TABLE MY_HIVE_TABLE;
  3. 通过指定新的SERDE属性重新创建您的蜂巢表 创建外部表MY_HIVE_TABLE( MY_colums )行格式SERDE‘.与SERDEPROPERTIES (.)TBLPROPERTIES ( 'hbase.table.name'='z_app_qos_hbase_temp:MY_HBASE_GOOD_TABLE‘);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27314797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档