首页 > 技术文章 > hive与hbase整合方式和优劣

tnsay 2016-08-18 14:34 原文

分别安装hive 和 hbase 

1、在hive中创建与hbase关联的表

create table ganji_ranks (row string,num string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES
("hbase.columns.mapping" = ":key,info:num") TBLPROPERTIES ("hbase.table.name"="ganji_rankings");

2、可以在hive中使用hsql 来插入数据并同时在hbase中也可以scan到

insert into table ganji_ranks select a,b,c from tablename where and/or ;

3、可以在hbase中使用来插入数据,支持更新,插入同样rowkey的数据,最新的数据会覆盖前面一条

 put 'ganji_ranking',a,vb,c .....

4、如果需要清空表,在hbase中truncate 'tablename' 即可

5、如果需要删除表,hbase也可,hive也可以,在hive之中删除,hbase的表也会随之删除,在hbase中删除之前 需要 :1)、disable 'tablename' 2)、 drop 'tablename'      

优势:方便统计,查看,查询核对   在hive中,因为如果有中文之类的,hbase看不懂,还需要自己写方法翻译,有时候通过hive计算的结果插入挺方便

劣势:hbase创建表的时候很多自定义的东西实现不了,而且hive中的表不支持修改,hbase表名如果修改了,hive会查不到hbase数据

 

 

好了,就这样!

推荐阅读