经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 大数据/云/AI » Hadoop » 查看文章
Hive与Hbase整合
来源:cnblogs  作者:Hongten  时间:2019/1/7 9:37:52  对本文有异议

Hive与Hbase整合

1.文档

  Hive HBase Integration

 

2.拷贝jar文件

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

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

 

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

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

 

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

  1. cd /home/hive/conf
  2. vi hive-site.xml
  3. <!-- Hbase zookeeper quorum -->
  4. <property>
  5. <name>hbase.zookeeper.quorum</name>
  6. <value>node1,node2,node3</value>
  7. </property>

 

4.在Hbase中创建表

  1. --Hbase中创建表
  2. create 'hbase_to_hive_t_user', 'cf_user_info'
  3. hbase(main):010:0> desc 'hbase_to_hive_t_user'
  4. Table hbase_to_hive_t_user is ENABLED
  5. COLUMN FAMILIES DESCRIPTION
  6. {NAME => 'cf_user_info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_S
  7. COPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER',
  8. KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => '
  9. true'}
  10. 1 row(s) in 0.0650 seconds

 

5.在Hbase表中插入数据

  1. --插入数据
  2. put 'hbase_to_hive_t_user', '1', 'cf_user_info:name','Tom'
  3. put 'hbase_to_hive_t_user', '1', 'cf_user_info:age',24
  4. put 'hbase_to_hive_t_user', '2', 'cf_user_info:name','John'
  5. put 'hbase_to_hive_t_user', '2', 'cf_user_info:age',18
  6. put 'hbase_to_hive_t_user', '3', 'cf_user_info:name','Steven'
  7. put 'hbase_to_hive_t_user', '3', 'cf_user_info:age',38
  8. scan 'hbase_to_hive_t_user'
  9. hbase(main):009:0> scan 'hbase_to_hive_t_user'
  10. ROW COLUMN+CELL
  11. 1 column=cf_user_info:age, timestamp=1546754368046, value=24
  12. 1 column=cf_user_info:name, timestamp=1546754367972, value=Tom
  13. 2 column=cf_user_info:age, timestamp=1546754368166, value=18
  14. 2 column=cf_user_info:name, timestamp=1546754368103, value=John
  15. 3 column=cf_user_info:age, timestamp=1546754370447, value=38
  16. 3 column=cf_user_info:name, timestamp=1546754368211, value=Steven
  17. 3 row(s) in 0.1600 seconds

 

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

  1. --如果你想要Hive去访问Hbase中已经存在的表,你可以创建外部表(CREATE EXTERNAL TABLE)
  2.  
  3. CREATE EXTERNAL TABLE hive_access_hbase_table_t_user (key string, name string, age int)
  4. STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
  5. WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf_user_info:name,cf_user_info:age")
  6. TBLPROPERTIES ("hbase.table.name" = "hbase_to_hive_t_user");

 

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

  1. select * from hive_access_hbase_table_t_user;
  2. hive> select * from hive_access_hbase_table_t_user;
  3. OK
  4. 1 Tom 24
  5. 2 John 18
  6. 3 Steven 38
  7. 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

 

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

E | hongtenzone@foxmail.com  B | http://www.cnblogs.com/hongten

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

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号