Hive外表的使用
前言:Hive创建关联hbase表有2种形式,第一是建立hive内表,指向Hbase,第二是建立Hive外表,引用Hbase中已经存在的一张表
- 在Hbase中创建表,创建一个表名称为
hive_hbase_test
,列族名称为f
的Hbase表create 'hive_hbase_test','f'
- 在Hive创建外联表,关联Hbase中对应的表
create external table hive_hbase_test(
id string,
pageId string,
operationParam string
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" =
":key,
f:pageId,
f:operationParam
")TBLPROPERTIES ("hbase.table.name"="hive_hbase_test"); -
外Hive表中插入数据,注意不能使用
load data
插入数据,不然后报A non-native table cannot be used as target for LOAD
,需要使用insert into
insert into hive_hbase_test select id,page_id,operation_param from test_txt;
-
查询HIVE中的数据
-
查询Hbase中的数据
-
清理数据,不能使用hive的
truncate
数据,因为数据的存储是有Hbase来管理的,所以可以使用