Hive与HBase关联表

/ Hadoop / 没有评论 / 63浏览

利用Hive查询HBase中的表。

使用场景

数据经常更新,但Hive不支持更新,则可利用HBase存储,Hive查询。

创建Hive与HBase关联表

创建表hive_hbase_test,字段idnameage

create table hive_hbase_test(id string, name string, age int)
stored by'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties("hbase.columns.mapping" = ":key, cf:name, cf:age")
tblproperties("hbase.table.name" = "hive_hbase_test");

创建的表存储在HBase中,Hive中只存储了表的元信息。

HBase插入、更新

put 'hive_hbase_test', '1', 'cf:name', 'zhangsan'
put 'hive_hbase_test', '1', 'cf:age', 20

put 'hive_hbase_test', '1', 'cf:age', 30

Hive也被更新

select id, name, age from hive_hbase_test;

结果:

1	zhangsan	30

性能

测试Hbase 表映射成 Hive表查询效率