南修子学Hbase-Hbase-Hive关联表

本文介绍了如何在CDH6.3环境下将Hive与HBase进行集成,通过Hive建表语句创建HBase表,并展示了在HBase中插入和查询数据的过程。同时,强调了如果HBase表已存在,创建Hive表时需使用`EXTERNAL`关键字,以及在数据插入时应注意类型匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两个框架要关联,需要相互操作的包 我这边是cdh6.3

cp /opt/cloudera/parcels/CDH/lib/hive/lib/hive-hbase-handler.jar /opt/cloudera/parcels/CDH/lib/hbase/lib

hive 建表语句

create table hive_hbase_student(
id int,
name string,
address string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:name,info:address")
TBLPROPERTIES("hbase.table.name"="hbase_student");

在hbase插入几条语句

hbase(main):016:0> put 'hbase_student','1001','info:name','nanxiuzi'
hbase(main):011:0> put 'hbase_student','1001','info:address','jiangxi ganzhou'
hbase(main):017:0> put 'hbase_student','1002','info:name','dongdongdong'
hbase(main):014:0> put 'hbase_student','1002','info:address','jiangxi fuzhou'

在hbase查看一下

hbase(main):018:0> scan 'hbase_student'
ROW                      COLUMN+CELL                                                        
 1001                    column=info:address, timestamp=1617777531243, value=jiangxi ganzhou
 1001                    column=info:name, timestamp=1617777900745, value=nanxiuzi          
 1002                    column=info:address, timestamp=1617777564477, value=jiangxi fuzhou 
 1002                    column=info:name, timestamp=1617777911978, value=dongdongdong      
2 row(s)
Took 0.0160 seconds

在hive里面查看一下

hive> select * from hive_hbase_student;

21/04/07 14:47:20 INFO mapreduce.TableInputFormatBase: Input split length: 0 bytes.
1001    nanxiuzi        jiangxi ganzhou
1002    dongdongdong    jiangxi fuzhou

如果hbase里面表已经存在的话,需要在创建hive表的时候使用external关键字,不然会提示hbase表已经存在的错误

通过hbase进行数据插入的时候要注意类型匹配,虽然在hbase里面都是以字节存在的,但是hive里面是有类型的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南修子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值