Hbase中的列式表映射到hive的外表
在做数据ETL中,可能原始数据在列式存储Hbase中,这个时候,如果我们想清洗数据,可以考虑把Hbase表映射为Hive的外表,然后使用Hive的HQL来清除处理数据,具体过程参考下面例子:
步骤
1,创建Hbase表
2,映射Hive表
步骤一
说明:cf 列簇名,只put了少量测试列
create ‘cofeed_info’,{NAME => ‘cf’, REPLICATION_SCOPE => 1}
put ‘cofeed_info’, ‘100001’, ‘cf:id’, ‘101’
put ‘cofeed_info’, ‘100001’, ‘cf:title’, ‘这是测试用的数据’
put ‘cofeed_info’, ‘100001’, ‘cf:insert_time’, ‘45679848161564’
步骤二
说明:虽然很多列在Hbase表中当前并没有,不过没关系,:key表示rowkey
CREATE EXTERNAL TABLE cofeed_info
(
rowkey string,
id string,
title string,
tourl string,
content string,
data_provider string,
b_class string,
b_catogory string,
source string,
insert_time timestamp,
dt string
) STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’ WITH
SERDEPROPERTIES (“hbase.columns.mapping”=
“:key,
cf:id,
cf:title,
cf:tourl,
cf:content,
cf:data_provider,
cf:b_class,
cf:b_catogory,
cf:source,
cf:insert_time,
cf:dt”) TBLPROPERTIES (“hbase.table.name” = “cofeed_info”);
结果
hive> desc cofeed_info;
OK
rowkey string from deserializer
id string from deserializer
title string from deserializer
tourl string from deserializer
content string from deserializer
data_provider string from deserializer
b_class string from deserializer
b_catogory string from deserializer
source string from deserializer
insert_time timestamp from deserializer
dt string from deserializer
说明:Hbase中没有的列簇为NULL了.
hive> select * from cofeed_info;
OK
100001 101 这是测试用的数据 NULL NULL NULL NULL NULL NULL NULL NULL
Hbase中的列式表映射到hive的外表相关推荐
- 【Hive】如何在 Hive 中创建外部表映射 Hbase 中已存在的表
文章目录 一.上传完整的jar文件到hive/lib中 二.修改hive-site.xml 三.修改hive-env.sh 四.在hive和hbase中分别创建相关联的表并通过hive向hbase表中 ...
- hbase中为何不能向表中插入数据_Hbase快速入门(超精炼总结)
基本概念: HBase是列簇式Key-Value存储系统,构建在HDFS之上的.支持随机插入和删除. 总结Hbase的架构核心,就两个字"有序" . 磁盘的读写,随机与顺序,相差3 ...
- hbase中为何不能向表中插入数据_大数据HBase理论实操面试题
1.HBase的特点是什么? 1)大:一个表可以有数十亿行,上百万列: 2)无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列: 3)面向列: ...
- HBase:分布式列式NoSQL数据库
传统的ACID数据库,可扩展性上受到了巨大的挑战.而HBase这类系统,兼具可扩展性的同时,也提出了类SQL的接口. HBase架构组成 HBase采用Master/Slave架构搭建集群,它隶属于H ...
- hbase中为何不能向表中插入数据_生产环境使用HBase,你必须知道的最佳实践 | 百万人学AI...
叮咚-你被福利砸中了!现在起,「2020 AI开发者万人大会」299门票免费送!进入报名页面[2020 AI 开发者万人大会(线上直播门票)-IT培训直播-CSDN学院],点击"立即报名&q ...
- Hbase中的列族ColumnFamily是什么?
首先先了解一下Hbase的表结构吧 (首先你要知道Hbase也是一种数据库,也有表qvq) 如下: 这是一个示例,可以看到与Mysql有点类似,但又略有不同. 不同的部分我已经框出来了(红色部分) 也 ...
- hbase中清空整张表的数据
hbase(main):005:0> truncate 'fr:test' Truncating 'FaceBase' table (it may take a while):- Disabli ...
- 列存储相关概念和常见列式存储数据库(Hbase、德鲁依)
Table of Contents 列式存储数据库 Examples of Column Store DBMSs Hbase Table Row Column Column Family Column ...
- 5分钟图解Hbase列式存储
作者 | 李新杰 来源 | 微信公众号"编程新说" 行式存储 传统的数据库是关系型的,且是按行来存储的.如下图: 其中只有张三把一行数据填满了,李四王五赵六的行都没有填满. 因为这 ...
最新文章
- POJ 3667 Hotel(线段树)
- 正则表达式懒惰贪婪和replace函数
- python程序设计狄光智_Python程序设计
- Python 内建函数 - sorted(iterable[, key][, reverse])
- c#中如何实现拷贝对象
- 前端学习(1399):多人管理19项目拦截器
- Angularjs切换网站配色模式简单示例1(切换css文件)
- Jackson 学习
- ResNet被全面超越了,是Transformer干的:轻量版优于MobileNet
- sqlite数据库中的sql语句大全-zhuan
- word 与 endnote 反应慢的小技巧
- 1.6QQ拼音输入的亮点——相框
- JavaEE 使用Filter实现敏感词汇过滤器
- Dell服务器能使用无线网卡,dell无线网卡驱动,手把手教你dell无线网卡驱动
- Springboot集成Swagger接口测试工具
- 2019第四次新生周赛——YZJ的牛肉干
- HEXO SEO 高级优化
- win10文件夹加密_文件隐私保护工具文件夹隐藏精灵
- DNS服务器无响应win10系统,Win10上的DNS服务器无响应:这是如何解决它
- 重要的表格数据误删了,用EasyRecovery快速恢复!
热门文章
- 21行代码AC——HDU1106 排序
- 蓝桥 试题 基础练习 杨辉三角形——11行代码AC
- Python元组介绍
- Docker镜像的分层和镜像的创建(Dockerfile)
- php基础教程文档,PHP5基础教程
- mysql安装了老版本_Windows环境下MySQL安装教程
- 在eclipse中修改java web项目的名称
- php 下载限制,php实现限制文件下载速度的代码实例
- python读写xlsx文件_python读写Excel文件--使用xlrd模块读取,xlwt模块写入
- matlab字母随机排列,matlab实现1n整数的一个随机排列