Hive 建外链表到 Hbase(分内部表、外部表两种方式)

一、 Hive 建内部表,链到hbase ;特点:Hive drop表后,Hbase 表同步删除

drop table if exists hbase_kimbo_test1;
CREATE TABLE hbase_kimbo_test1
(
id string comment '主键ID',
name string comment '名称',
cate_name string comment '类目'
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,data:name,data:cate_name")
TBLPROPERTIES("hbase.table.name" = "hbase_kimbo_test1")
;


二、Hive上建外部表,链到Hbase ;特点:Hive drop表后,Hbase表不变
步骤a: Hive上 先建立外部表
drop table if exists hbase_kimbo_test2;
CREATE EXTERNAL TABLE hbase_kimbo_test2
(
id string comment '主键ID',
t2_name string comment '名称',
t2_cate_name string comment '类目'
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,data:t2_name,data:t2_cate_name")
TBLPROPERTIES("hbase.table.name" = "hbase_kimbo_test2")
;

步骤b: Hbase上 在建立表
create 'hbase_kimbo_test2', 'data'

测试:

hive上插入数据:insert overwrite table hbase_kimbo_test2 select 1,'kimbo','person' from dual;

-- hive 查结果
select * from hbase_kimbo_test2;
-- hbase 查结果
scan 'hbase_kimbo_test2'

posted @ 2018-03-11 22:20  Kimbo  阅读(1114)  评论(0编辑  收藏  举报