=========================================================
声明:由于不同平台阅读格式不一致(尤其源码部分),所以获取更多阅读体验!!
个人网站地址:http://www.lhworldblog.com/2018/01/27/
==========================================================
一、前述
Hive会经常和Hbase结合使用,把Hbase作为Hive的存储路径,所以Hive整合Hbase尤其重要。
二、具体步骤
hive和hbase同步
https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration
1、把hive-hbase-handler-1.2.1.jar cp到hbase/lib 下
同时把hbase中的所有的jar,cp到hive/lib
2、在hive的配置文件增加属性:
<property>
<name>hbase.zookeeper.quorum</name>
<value>node5,node6,node7</value>
</property>
3、在hive中创建临时表
CREATE EXTERNAL TABLE tmp_order
(key string, id string, user_id string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,order:order_id,order:user_id")
TBLPROPERTIES ("hbase.table.name" = "t_order");
CREATE TABLE hbasetbl(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.mapred.output.outputtable" = "xyz");
注意:
1. hive 是hbase的客户端
数据在Hbase中存储。
需要知道hbase的zookeeper集群。。
2. 映射关系:
3. 外部表不可以,因为hive不管理数据,所以不会帮hbase创建表,得在hbase中先创建表。所以最好创建外部表!!!
4.版本依赖需要注意!!!
标签:string,hive,order,---,Hive,Hbase,hbase From: https://blog.51cto.com/u_11936913/5980854