Hive与Hbase整合

Posted hongten

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive与Hbase整合相关的知识,希望对你有一定的参考价值。

Hive与Hbase整合

1.文档

  Hive HBase Integration

 

2.拷贝jar文件

2.1.把Hbase的lib目录下面的jar文件全部拷贝到Hive的lib目录下面

cd /home/hbase/lib
cp ./* /home/hive/lib

 

2.2.把Hive的lib目录下面的hive-hbase-handler-0.13.1.jar拷贝到Hbase的lib目录下面

cp /home/hive/lib/hive-hbase-handler-0.13.1.jar /home/hbase/lib/

 

3.修改Hive/conf目录下面的配置文件

cd /home/hive/conf
vi hive-site.xml

<!-- Hbase zookeeper quorum   -->
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>node1,node2,node3</value>
</property>

 

4.在Hbase中创建表

--在Hbase中创建表
create hbase_to_hive_t_user, cf_user_info

hbase(main):010:0> desc hbase_to_hive_t_user
Table hbase_to_hive_t_user is ENABLED                                                      
COLUMN FAMILIES DESCRIPTION                                                                
{NAME => cf_user_info, DATA_BLOCK_ENCODING => NONE, BLOOMFILTER => ROW, REPLICATION_S
COPE => 0, VERSIONS => 1, COMPRESSION => NONE, MIN_VERSIONS => 0, TTL => FOREVER,
 KEEP_DELETED_CELLS => FALSE, BLOCKSIZE => 65536, IN_MEMORY => false, BLOCKCACHE => 
true}                                                                                     
1 row(s) in 0.0650 seconds

 

5.在Hbase表中插入数据

--插入数据
put hbase_to_hive_t_user, 1, cf_user_info:name,Tom
put hbase_to_hive_t_user, 1, cf_user_info:age,24
put hbase_to_hive_t_user, 2, cf_user_info:name,John
put hbase_to_hive_t_user, 2, cf_user_info:age,18
put hbase_to_hive_t_user, 3, cf_user_info:name,Steven
put hbase_to_hive_t_user, 3, cf_user_info:age,38


scan hbase_to_hive_t_user
hbase(main):009:0> scan hbase_to_hive_t_user
ROW                     COLUMN+CELL                                                        
 1                      column=cf_user_info:age, timestamp=1546754368046, value=24         
 1                      column=cf_user_info:name, timestamp=1546754367972, value=Tom       
 2                      column=cf_user_info:age, timestamp=1546754368166, value=18         
 2                      column=cf_user_info:name, timestamp=1546754368103, value=John      
 3                      column=cf_user_info:age, timestamp=1546754370447, value=38         
 3                      column=cf_user_info:name, timestamp=1546754368211, value=Steven    
3 row(s) in 0.1600 seconds

 

6.在Hive中创建数据库表关联Hbase里面的表

--如果你想要Hive去访问Hbase中已经存在的表,你可以创建外部表(CREATE EXTERNAL TABLE)

CREATE EXTERNAL TABLE hive_access_hbase_table_t_user (key string, name string, age int)
STORED BY org.apache.hadoop.hive.hbase.HBaseStorageHandler
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf_user_info:name,cf_user_info:age")
TBLPROPERTIES ("hbase.table.name" = "hbase_to_hive_t_user");

 

6.1.在Hive中查询Hbase表里的数据

select * from hive_access_hbase_table_t_user;

hive> select * from hive_access_hbase_table_t_user;
OK
1    Tom    24
2    John    18
3    Steven    38
Time taken: 0.325 seconds, Fetched: 3 row(s)

 

7.Reference

https://blog.csdn.net/qq_33689414/article/details/80328665

https://blog.csdn.net/aaronhadoop/article/details/28398157

 

========================================================

More reading,and english is important.

I‘m Hongten

技术分享图片 

大哥哥大姐姐,觉得有用打赏点哦!你的支持是我最大的动力。谢谢。
Hongten博客排名在100名以内。粉丝过千。
Hongten出品,必是精品。

E | [email protected]  B | http://www.cnblogs.com/hongten

========================================================

 

以上是关于Hive与Hbase整合的主要内容,如果未能解决你的问题,请参考以下文章

Hive与Hbase关系整合

HBase 与Hive数据交互整合过程详解

Hive教程---整合HBASE

Hive 整合Hbase

为啥hive与mysql整合

hive 与 hbase 结合