作者:振鹭
Hbase对应Hive外表
(背景:在做数据ETL中,可能原始数据在列式存储Hbase中,这个时候,如果我们想清洗数据,可以考虑把Hbase表映射为Hive的外表,然后使用Hive的HQL来清除处理数据)
1. Hbase中创建表
bash
create 'hbase_data',{NAME => 'cf', VERSIONS => 1}
2. Hbase中增加数据
bash
put 'hbase_data', '10001', 'cf:id', '101'
put 'hbase_data', '10001', 'cf:title', 'nanjing'
put 'hbase_data', '10001', 'cf:name', 'yuhuatai'
3. 查询Hbase中数据是否插入成功
4. 创建Hbase的Hive外表
bash
CREATE EXTERNAL TABLE IF NOT EXISTS hbase_data(
key string COMMENT 'hbase_rowkey',
id string comment "ID",
title string comment "title",
name string,
ts timestamp COMMENT 'hbase_timestamp') comment '' STORED BY
'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES (
'hbase.columns.mapping' = ':key,cf:id, cf:title, cf:name,:timestamp' )
TBLPROPERTIES ('hbase.table.name' = 'hbase_data')
5. 查询Hive表中数据格式
更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw