在做数据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的外表相关推荐

  1. 【Hive】如何在 Hive 中创建外部表映射 Hbase 中已存在的表

    文章目录 一.上传完整的jar文件到hive/lib中 二.修改hive-site.xml 三.修改hive-env.sh 四.在hive和hbase中分别创建相关联的表并通过hive向hbase表中 ...

  2. hbase中为何不能向表中插入数据_Hbase快速入门(超精炼总结)

    基本概念: HBase是列簇式Key-Value存储系统,构建在HDFS之上的.支持随机插入和删除. 总结Hbase的架构核心,就两个字"有序" . 磁盘的读写,随机与顺序,相差3 ...

  3. hbase中为何不能向表中插入数据_大数据HBase理论实操面试题

    1.HBase的特点是什么? 1)大:一个表可以有数十亿行,上百万列: 2)无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列: 3)面向列: ...

  4. HBase:分布式列式NoSQL数据库

    传统的ACID数据库,可扩展性上受到了巨大的挑战.而HBase这类系统,兼具可扩展性的同时,也提出了类SQL的接口. HBase架构组成 HBase采用Master/Slave架构搭建集群,它隶属于H ...

  5. hbase中为何不能向表中插入数据_生产环境使用HBase,你必须知道的最佳实践 | 百万人学AI...

    叮咚-你被福利砸中了!现在起,「2020 AI开发者万人大会」299门票免费送!进入报名页面[2020 AI 开发者万人大会(线上直播门票)-IT培训直播-CSDN学院],点击"立即报名&q ...

  6. Hbase中的列族ColumnFamily是什么?

    首先先了解一下Hbase的表结构吧 (首先你要知道Hbase也是一种数据库,也有表qvq) 如下: 这是一个示例,可以看到与Mysql有点类似,但又略有不同. 不同的部分我已经框出来了(红色部分) 也 ...

  7. hbase中清空整张表的数据

    hbase(main):005:0> truncate 'fr:test' Truncating 'FaceBase' table (it may take a while):- Disabli ...

  8. 列存储相关概念和常见列式存储数据库(Hbase、德鲁依)

    Table of Contents 列式存储数据库 Examples of Column Store DBMSs Hbase Table Row Column Column Family Column ...

  9. 5分钟图解Hbase列式存储

    作者 | 李新杰 来源 | 微信公众号"编程新说" 行式存储 传统的数据库是关系型的,且是按行来存储的.如下图: 其中只有张三把一行数据填满了,李四王五赵六的行都没有填满. 因为这 ...

最新文章

  1. POJ 3667 Hotel(线段树)
  2. 正则表达式懒惰贪婪和replace函数
  3. python程序设计狄光智_Python程序设计
  4. Python 内建函数 - sorted(iterable[, key][, reverse])
  5. c#中如何实现拷贝对象
  6. 前端学习(1399):多人管理19项目拦截器
  7. Angularjs切换网站配色模式简单示例1(切换css文件)
  8. Jackson 学习
  9. ResNet被全面超越了,是Transformer干的:轻量版优于MobileNet
  10. sqlite数据库中的sql语句大全-zhuan
  11. word 与 endnote 反应慢的小技巧
  12. 1.6QQ拼音输入的亮点——相框
  13. JavaEE 使用Filter实现敏感词汇过滤器
  14. Dell服务器能使用无线网卡,dell无线网卡驱动,手把手教你dell无线网卡驱动
  15. Springboot集成Swagger接口测试工具
  16. 2019第四次新生周赛——YZJ的牛肉干
  17. HEXO SEO 高级优化
  18. win10文件夹加密_文件隐私保护工具文件夹隐藏精灵
  19. DNS服务器无响应win10系统,Win10上的DNS服务器无响应:这是如何解决它
  20. 重要的表格数据误删了,用EasyRecovery快速恢复!

热门文章

  1. 21行代码AC——HDU1106 排序
  2. 蓝桥 试题 基础练习 杨辉三角形——11行代码AC
  3. Python元组介绍
  4. Docker镜像的分层和镜像的创建(Dockerfile)
  5. php基础教程文档,PHP5基础教程
  6. mysql安装了老版本_Windows环境下MySQL安装教程
  7. 在eclipse中修改java web项目的名称
  8. php 下载限制,php实现限制文件下载速度的代码实例
  9. python读写xlsx文件_python读写Excel文件--使用xlrd模块读取,xlwt模块写入
  10. matlab字母随机排列,matlab实现1n整数的一个随机排列