您的位置:首页 > 其它

HBASE-HIVE集成

2015-07-06 00:00 246 查看
一、准备环境
前提条件已经安装好了hbase,hive
检测hive/lib目录下是否含有:hive-hbase-handler-版本.jar(通过此文件和hbase通信)

二、拷贝文件
进入hbase的lib目录下,拷贝如下文件到:hive的lib目录下
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中执行查询,可查询数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: