hive读取Hbase的数据

2 篇文章 0 订阅

1、文档(不会的直接找文档最方便)

HBaseIntegration

 

2、拷贝jar文件

2.1 将Hbase/bin目录下面文件拷贝到Hive/bin目录下

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目录下面的配置文件

主要配置Zookeeper节点信息

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

<!-- Hbase zookeeper quorum   -->
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>master,slave1,slave2</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'}                                                                                     
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                                                        
                     column=cf_user_info:age, timestamp=1546754368046, value=24         
                     column=cf_user_info:name, timestamp=1546754367972, value=Tom       
                     column=cf_user_info:age, timestamp=1546754368166, value=18         
                     column=cf_user_info:name, timestamp=1546754368103, value=John      
                     column=cf_user_info:age, timestamp=1546754370447, value=38         
                     column=cf_user_info:name, timestamp=1546754368211, value=Steven    
row(s) in 0.1600 seconds

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

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

CREATE EXTERNAL TABLE hive_access_hbase_table_t_user_2 (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
   Tom    24
   John    18
   Steven    38
Time taken: 0.325 seconds, Fetched: 3 row(s)

转自:Hive读取Hbase数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值