hbase学习笔记-hbase集成hive

Hive提供了与HBase的集成,使得能够在HBase表上使用hive sql 语句进行查询 插入操作以及进行Join和Union等复杂查询、同时也可以将hive表中的数据映射到Hbase中。

1 整合配置
  • 1、修改hive-site.xml文件,添加配置属性
    <property>      
        <name>hbase.zookeeper.quorum</name>
        <value>node1:2181,node2:2181,node3:2181</value>
    </property>
  • 2、修改 hive-env.sh 文件,添加hbase的依赖包到hive的classpath中
export HIVE_CLASSPATH=$HIVE_CLASSPATH:/opt/hbase/lib/*
  • 3、使用编译好的 hive-hbase-handler-1.2.1.jar替换hive之前的lib目录下的该jar包
    下载地址://download.csdn.net/download/qq_26719997/12255875
2 测试
2.1 将hbase表映射到hive表中
  • 1:在hbase中创建一张表
create 'hbase_test','f1','f2','f3'
  • 2:加载数据到hbase_test表中
put 'hbase_test','r1','f1:name','zhangsan'
put 'hbase_test','r1','f2:age','2'
  • 3:创建基于hbase的hive表
create external table hiveFromHbase(
rowkey string,
f1 map<STRING,STRING>,
f2 map<STRING,STRING>
) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,f1:,f2:")
TBLPROPERTIES ("hbase.table.name" = "hbase_test");
  • 4:查看hive表的数据
0: jdbc:hive2://node1:10000> select * from hivefromhbase;
+-----------------------+----------------------+-------------------+
| hivefromhbase.rowkey  |   hivefromhbase.f1   | hivefromhbase.f2  |
+-----------------------+----------------------+-------------------+
| r1                    | {"name":"zhangsan"}  | {"age":"2"}      |
+-----------------------+----------------------+-------------------+
2.2 将hive表映射到hbase表中
  • 1:创建一张映射hbase的表
create  table hive_test(
id string,
name string,
age int
)STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,f1:name,f2:age")
TBLPROPERTIES ("hbase.table.name" = "hbaseFromhive");
  • 2:向hive表加载数据
--加载数据到hive_test表中
insert into table hive_test select * from hive_test_data;
  • 3:查看hbase表hbaseFromhive是否有数据
hbase(main):032:0*scan 'hbaseFromhive'
ROW         COLUMN+CELL
1           cloumn=f1:name timestamp=1584586821, value=zhangsan   
1           cloumn=f1:age timestamp=1584586821, value=2 
2 row(s) in 0.0036 seconds
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值