hive on hbase 数据表关联

本文介绍如何通过创建临时Hive表,并利用Hive-on-HBase的方式将数据从Hive导入到HBase中,无需编写MapReduce程序,简化了数据迁移流程。

 

有时,数据可以容易的存储在hive中,但是要导入到hbase里,可以不用写MR程序来操作,可以使用hive on hbase方式来创建相应的表关联关系来将hive中的数据导入到对应的hbase的表里,如下描述:

可以参考 hive与hbase关联表

 

1 、首先创建一张临时hive 内表:

create table testh(rowkey int,record1 string,record2 string,record3 string,record4 string,record5 string,record6 string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','

 

2、将准备的数据加载到临时表中

load data local inpath '/root/goodwill/test.data' into table testh;

 

3、创建hbase对应的表,这里创建的时候可以设置hbase表分区(我这里就不创建分区了)

     create 'test','cf' 

 

4、创建一张hive的外表关联 上hbase的表

create EXTERNAL table hbase_test(rowkey int,record1 string,record2 string,record3 string,record4 string,record5 string,record6 string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with SERDEPROPERTIES ("hbase.columns.mapping"=":key,cf:record1,cf:record2,cf:record3,cf:record4,cf:record5,cf:record6") TBLPROPERTIES ("hbase.table.name"="test");

 

5、将hive的临时表testh中的数据加载到hbase_test表中,加载的过程就会将数据同步到hbase的表中

     insert overwrite table hbase_test select * from testh; 

 

    至此,就完成了hive中的数据到hbase表数据的对应,可以查看hbase表(test)中数据与hive表hbase_test数据是对应的,这里可以删除hive之前的临时表testh

    这里注意,要使用一个hive临时表做数据转换,如果直接将数据load到hive表与hbase表对应的hive表(hbase_test)中,是无法加载进数据进来的

 

转载于:https://www.cnblogs.com/xjh713/p/7550449.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值