Hbase--Hbase数据表映射到Hive中

  HBase是一种非关系型分布式数据库,无法进行多表关联等关系型数据库能执行的操作,但是基于HBase高容量,高吞吐的特征,我们可以将HBase的表映射到Hive中进行存储,下面展示存储案例.

一:准备HBase数据表

1.创建命名空间
create_namespace 'testConnectHive'
2.命名空间内创建一个student表,列族分别为stuinfo,schoolinfo
create 'testConnectHive:student','stuinfo','schoolinfo'
3.表内插入数据
hbase(main):004:0> put 'testConnectHive:student','1001','stuinfo:stuname','zhangsan'
Took 0.6039 seconds                                                                                                              
hbase(main):005:0> put 'testConnectHive:student','1001','stuinfo:stuno','1001'
Took 0.0107 seconds                                                                                                              
hbase(main):006:0> put 'testConnectHive:student','1001','stuinfo:stugender','male'
Took 0.1695 seconds                                                                                                              
hbase(main):007:0> put 'testConnectHive:student','1001','schoolinfo:schoolname','beijingdaxue'
Took 0.0342 seconds                                                                                                              
hbase(main):008:0> put 'testConnectHive:student','1001','schoolinfo:schoollocation','beijing'
4.查看数据表
desc 'testConnectHive:student'

二.HBase数据表映射到Hive中

1.开启远程服务
nohup hive --service hiveserver2 &
2.Hive创建表,映射HBase数据表
create database testConnectHive;
use testConnectHive;
create external table student(
    id string,
    stuname string,
    stuno string,
    schoolname string,
    schoollocation string
)stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with
serdeproperties ('hbase.columns.mapping'=':key,stuinfo:stuname,stuinfo:stuno,schoolinfo:schoolname,schoolinfo:schoollocation')
tblproperties ('hbase.table.name'='testConnectHive:student');
select * from student;
3.此时可以查看到Hive表内结构数据
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值