分享

hive整合Hbase表设计,求解决!十万火急!

因为以前我们是关系型数据库一个表中有十几个字段,以前我使用pheonix去创建表的直接用的是SQL语句create table XX(ID XX,name XX,AGE XX········)这样的。现在我要在hive中去查询Hbase中的表。但是hive中映射Hbase中的表需要有以下条件:(在创建hive/hbase相关联的表时,hbase表结构默认会有一个字段key,如果没有一个显示的字段'key'那么在创建表的进修,会自己创建,这样hive对应的表就会出现问题,所以在hive对应的表里一定要加上key这个字段,为了避免这个问题,在hbase表结构里可以显示的添加'key'字段,这样不容易出问题。Hbase.columns.mapping表示和hbase的列做映射)需要知道一些key,还要知道hbase中的列等等。我对hbase表设计不懂,于是我去查看hbase表结构问题。看不懂!!图如下:

需要在hive中去映射这张表,在hive中去查询hbase中的数据,现在我该如何去做?对于一个不懂hbase结构的人真是悲剧哇哇哇~~~~~


Hbase中Gonline的表结构

Hbase中Gonline的表结构

已有(4)人评论

跳转到指定楼层
Alkaloid0515 发表于 2015-5-19 17:53:40


首先hbase与hive要整合
整合完毕,然后创建表
创建表的使用通过hbase.columns.mapping映射


[mw_shl_code=sql,true]CREATE TABLE hbase_table_1(key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES ("hbase.table.name" = "xyz");[/mw_shl_code]

上面是
hive hbase_table_1对应hbase的 xyz表








更多参考hbase0.96与hive0.12整合高可靠文档及问题总结

回复

使用道具 举报

xuanxufeng 发表于 2015-5-19 17:56:37
如果已经有了,建议先创建表明 一致的,然后在复制试一下。

回复

使用道具 举报

zhangshuai 发表于 2015-5-19 18:33:40
xuanxufeng 发表于 2015-5-19 17:56
如果已经有了,建议先创建表明 一致的,然后在复制试一下。

什么意思?
回复

使用道具 举报

xuanxufeng 发表于 2015-5-19 22:03:55

没有试过,你试试吧。一般情况,都是先整合,在创建表(hbase表及hive表)
但是你的已经有了,所以你可以尝试在整合后,在创建于hbase一样的表名。然后把原先的hbase表数据复制到创建的hbase及hive表中。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条