Hbase映射为Hive外表

振鹭2年前技术文章1015
Hbase对应Hive外表
(背景:在做数据ETL中,可能原始数据在列式存储Hbase中,这个时候,如果我们想清洗数据,可以考虑把Hbase表映射为Hive的外表,然后使用Hive的HQL来清除处理数据)
1. Hbase中创建表
create 'hbase_data',{NAME => 'cf', VERSIONS => 1}
2. Hbase中增加数据
put 'hbase_data', '10001', 'cf:id', '101'
put 'hbase_data', '10001', 'cf:title', 'nanjing'
put 'hbase_data', '10001', 'cf:name', 'yuhuatai'

3. 查询Hbase中数据是否插入成功

image.png

4. 创建Hbase的Hive外表
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表中数据格式

image.png


相关文章

flink-hive方言配置(Hive Dialect)

简介       在使用 Hive 方言时,Flink 允许用户用 Hive 语法来编写 SQL 语句。 通过提供与 Hive 语法的兼容性,我们旨在改善与 Hive 的互操作性,并减少用户需要在 F...

使用udev配置asm

环境:centos7    1、udev介绍udev概念udev 是 Linux2.6 内核里的一个功能,它替代了原来的 devfs,成为当前 Linux 默认的设备管理工具。udev 以守护进程的形...

如何卸载mysql

如何卸载mysql

1、查看安装的mysql,并停止mysqlps -ef|grep mysql #停止mysql  kill -9 pid2、卸载mysql安装...

Ranger-hdfs插件部署

Ranger-hdfs插件部署

部署在两个namenode节点解压插件cd /opt/hadooptar -xzvf ranger-2.4.0-hdfs-plugin.tar.gz -C /opt/cd /opt/ranger-2....

Doris集群部署

一、部署Doris集群1.部署doris服务(1)下载Doris            登陆地址https://doris.apache.org/download            选择需要下载的...

借助arthas工具打火焰图

借助arthas工具打火焰图

1、下载arthas在命令行下面执行(使用和目标进程一致的用户启动,否则可能 attach 失败):curl -O https://arthas.aliyun.com/arthas-boot.jar...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。