一、 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'