HBASE-HIVE集成

原创
2015/07/06 17:28
阅读数 121

一、准备环境

前提条件已经安装好了hbasehive

检测hive/lib目录下是否含有:hive-hbase-handler-版本.jar(通过此文件和hbase通信)

 

二、拷贝文件

  进入hbaselib目录下,拷贝如下文件到:hivelib目录下

 hbase-client-0.98.0-hadoop2.jar

 hbase-common-0.98.0-hadoop2-tests.jar

 hbase-common-0.98.0-hadoop2.jar

 hbase-protocol-0.98.0-hadoop2.jar

 hbase-server-0.98.0-hadoop2.jar

 htrace-core-2.04.jar

启动hive,以上整合完成

 

三、假定Hbase中已经存在如下表:

   表名:testTable

   列簇:f

   列:ip

   列:url

  需要在hive中创建一个外部表,指向hbase

  语句如下:

  CREATE EXTERNAL TABLE log2 (key String ,url string,ip string)

STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,f:url,f:ip")

TBLPROPERTIES("hbase.table.name" = "log");

 

四、解释:

Log2: 表示hive的外部表名字

key 必须有

在创建hive/hbase相关联的表时,hbase表结构默认会有一个字段key,如果没有一个显示的字段'key'那么在创建表的进修,会自己创建,这样hive对应的表就会出现问题,所以在hive对应的表里一定要加上key这个字段,为了避免这个问题,在hbase表结构里可以显示的添加'key'字段,这样不容易出问题。

Hbase.columns.mapping表示和hbase的列做映射

五、验证

 hbase中插入数据

 hive中执行查询,可查询数据

展开阅读全文
打赏
1
2 收藏
分享
加载中
更多评论
打赏
0 评论
2 收藏
1
分享
返回顶部
顶部