hbase hive整合

发布时间:2020-04-05 11:27:37 作者:ruanjianzhilu
来源:网络 阅读:432

        由于项目需要,使用hbase来存储数据。使用hive来查询数据。所以这里需要把hbase 和 hive整合使用。在网上找了下资料,其实也挺简单的,主要在配置。下面我把整合的步骤做一个记录。

1.环境:hadoop1.0.4,hbase0.92.0,hive0.9.0

2.在hadoop  hbase   hive 环境都配好的情况下(如果没有配置好请参考其他相关文档),进行如下操作。

 

 

<property>
  <name>hive.metastore.local</name>
  <value>true</value>
  <description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description>
</property>
<property>    
  <name>hive.exec.scratchdir</name>     
  <value>/data/hive/scratchdir</value>     
</property>  
<property>     
  <name>hive.querylog.location</name>     
  <value>/data/hive/logs</value>     
</property>     
<property>    
  <name>hive.aux.jars.path</name>     
  <value>file:///home/mt/hive/lib/hive-hbase-handler-0.9.0.jar,file:///home/mt/hive/lib/hbase-0.92.0.jar,file:///home/mt/hive/lib/zookeeper-3.4.3.jar</value>    
</property> 

 

 

 注意:我这里的hive-site.xml是自行创建的文件,在默认情况下不存在这个文件。

3.现在你可以尝试启动hive了。

mt@ubuntu:~/hive$ bin/hive

接着可以做下测试了。

CREATE TABLE hbase_table_1(key int, value string)  
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")  
TBLPROPERTIES ("hbase.table.name" = "xyz");  
hbase.table.name 定义在hbase的table名称 
hbase.columns.mapping 定义在hbase的列族 

新建hive的数据表 

CREATE TABLE pokes (foo INT, bar STRING); 

批量插入数据 

LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE  

使用sql导入hbase_table_1

 INSERT OVERWRITE TABLE hbase_table_1 SELECT * FROM pokes WHERE foo=86;  

hive> select * from  hbase_table_1;  

这时可以登录Hbase去查看数据了.

hbase(main):001:0> describe 'xyz' 

hbase(main):002:0> scan 'xyz'   
hbase(main):003:0> put 'xyz','100','cf1:val','www.360buy.com' 
这时在Hive中可以看到刚才在Hbase中插入的数据了。 
hive> select * from hbase_table_1 

使用CREATE EXTERNAL TABLE 

CREATE EXTERNAL TABLE hbase_table_2(key int, value string)  
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'  
WITH SERDEPROPERTIES ("hbase.columns.mapping" = "cf1:val")  
TBLPROPERTIES("hbase.table.name" = "some_existing_table");  

 

 

推荐阅读:
  1. HBase 与Hive数据交互整合过程详解
  2. hive与hbase整合

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hbase hive 整合

上一篇:Nexus

下一篇:基于Kubernetes 1.16.0 建立企业Jenkins CI/CD发布平台

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》