首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多列家族从hbase导入到hive

问将多列家族从hbase导入到hive
EN

Stack Overflow用户
提问于 2016-11-15 08:16:12
回答 2查看 1.2K关注 0票数 0

我正在尝试将hbase表中的两个列族移到组表中。我可以移动一个列的家庭,但我如何能移动另一个在同一个蜂巢表。

编辑:

我在下面移动了一个列家庭。

代码语言:javascript
复制
CREATE TABLE hbase_hive(key string, firstname string, age string)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’
WITH SERDEPROPERTIES (“hbase.columns.mapping” = “id:firstname,id:age")
TBLPROPERTIES(“hbase.table.name” = “hl”);

但我还有一个名为hb的列族,还有三个列。如何实现这一目标。

更新:

我还尝试在下面添加不同列族的列名,这是我的代码。

代码语言:javascript
复制
CREATE TABLE hbase_hive(key string, firstname string, age string, testname string)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’
WITH SERDEPROPERTIES (“hbase.columns.mapping” = “id:firstname,id:age,pd:name")
TBLPROPERTIES(“hbase.table.name” = “hl”);

但是我得到的结果是:

代码语言:javascript
复制
 819215975  19391121    625678921720    NULL
 819617215  19570622    625116365890    NULL
 820333876  19640303    623221670810    NULL
 824794938  19531211    625278010070    NULL
 828093442  19420803    625284904860    NULL
 828905771  19320209    625078004220    NULL
 829832017  19630722    625178010070    NULL

而不是值,我将获得null。

更新:

我尝试在hbase shell中使用下面的命令创建hbase表

代码语言:javascript
复制
create ‘hl’,’id’

然后,我使用以下命令创建了另一个列系列

代码语言:javascript
复制
alter ‘hl’,’pd’ 
EN

回答 2

Stack Overflow用户

发布于 2016-11-16 07:14:30

在您的HiveQL中,从hbase表"hl“中选择列族中的两个列"id”到hive表中。如果希望添加更多列(甚至来自其他列家族),只需将它们添加到表模式和hbase.columns.mapping中即可。例如:

代码语言:javascript
复制
CREATE TABLE hbase_hive(key string, firstname string, age string, a string)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’
WITH SERDEPROPERTIES (“hbase.columns.mapping” = “id:firstname,id:age,hb:a")
TBLPROPERTIES(“hbase.table.name” = “hl”);

请参阅https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration#HBaseIntegration-MultipleColumnsandFamilies

票数 0
EN

Stack Overflow用户

发布于 2016-11-16 16:01:56

我在你的文章中看到了一些问题(或多或少是严肃的):

  • 首先,我将创建一个EXTERNAL TABLE
  • 您正在创建一个只有3列但最终需要4列的Hive表。
  • 您没有显式地映射:key
  • 你的“名字”和“年龄”的数据看起来像是狂野的随机数!

我无法测试它,但以下应该是一个更好的起点:

代码语言:javascript
复制
CREATE EXTERNAL TABLE hbase_hive_hl(key string, firstname string, age string, name string)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’
WITH SERDEPROPERTIES (“hbase.columns.mapping” = “:key,id:firstname,id:age,pd:name")
TBLPROPERTIES(“hbase.table.name” = “hl”);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40604951

复制
相关文章

相似问题

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