【HBase】(5)-HBase读数据流程

简介: 【HBase】(5)-HBase读数据流程

简 介:HBase是谷歌BigData论文的一个代码实现,在大数据处理领域应用广泛。本文意在记录自己近期学习过程中的所学所得,如有错误,欢迎大家指正。

 

关键词:大数据组件、HBase、NoSQL

一、HBase读数据流程

HBase读数据流程:

  1. 首先从zookeeper中获得meta表所在的RegionServer
  2. 然后从meta表中获取待查询的表的Region所在的RegionServer,将查询到的信息放到Meta Cache缓存中,便于后续查找
  3. 与查询到的RegionServer进行通信
  4. 从该RegionServer中的MemStore和StoreFile(内存和磁盘)分别进行读取数据
  5. 将从内存和磁盘读取到的数据进行合并,什么是合并就是有可能内存和磁盘中的数据是两个版本,或者可能同样类型的数据然后时间戳不一样,需要将两个地方读取到的数据进行对比,返回最新时间戳的数据
  6. 然后将合并后的数据缓存到Block Cache,以便于后续查询
  7. 将合并后的数据返回给客户端

1.我们测试一下,首先创建一个stu表:

2.然后向stu表中插入一条数据

我们发现此时HDFS中的info列族中还没有数据,是因为此时数据还在内存中,没有被刷写,我们可以进行手动刷写

3.将插入的数据进行刷写

发现手动刷写后就可以在HDFS中发现了数据,就是将MemStore中的数据刷写成StoreFile

4.再插入一条时间戳小于刚才的数据

插入之前先扫描一下刚才插入的时间戳

然后进行插入一条时间戳小的数据

那么现在张三对应的数据此时在磁盘中,而新插入的李四仍在内存中,按照常理想,我们会认为进行读取内存,也就是会读到李四

也就是会读到李四

[外链图片转存中…(img-JVVIIENC-1624367770630)]

但是发现现在扫描仍然是张三,这就说明默认读取的不是内存,真正的读取就是将内存和磁盘中的数据都进行读取,然后进行时间戳比较,返回最新的时间戳数据,而不是读取内存中的,然后将读取到的进行合并返回给客户端,然后将该数据同时存储到Block Cache中,方便后续的查找。


相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
5月前
|
分布式数据库 Hbase
HBase读取与写入流程
HBase读取与写入流程
35 0
|
10月前
|
存储 分布式计算 Hadoop
分布式数据库HBase的重要机制和原理的读/写流程
HBase是一个分布式数据库系统,基于Google的BigTable和Apache Hadoop的HDFS构建。它提供了一个高性能、可扩展的数据库平台,适用于大规模的数据存储和处理。在阿里云开发者社区中,很多开发者都会使用HBase进行数据存储和处理。本文将介绍HBase的读/写流程。
87 0
|
NoSQL 大数据 分布式数据库
【HBase】(6)-Compact合并StoreFile流程
【HBase】(6)-Compact合并StoreFile流程
200 0
【HBase】(6)-Compact合并StoreFile流程
|
NoSQL 大数据 分布式数据库
【HBase】(4)-HBase写数据流程
【HBase】(4)-HBase写数据流程
115 0
【HBase】(4)-HBase写数据流程
|
缓存 分布式数据库 Hbase
【HBase】(六)详解 HBase 的读、写流程(面试重点)
【HBase】(六)详解 HBase 的读、写流程(面试重点)
149 0
【HBase】(六)详解 HBase 的读、写流程(面试重点)
|
分布式数据库 Hbase
|
分布式数据库 Hbase
hbase scan客户端服务端流程
hbase scan客户端服务端流程 一:基础知识了解: scanner可分为两种InternalScanner和KeyValueScanner,区别如下 1.
1390 0
|
分布式计算 监控 Hadoop
Ganglia+Hadoop+Hbase监控搭建流程
Hadoop集群基本部署完成,接下来就需要有一个监控系统,能及时发现性能瓶颈,给故障排除提供有力依据。监控hadoop集群系统好用的比较少,自身感觉ambari比较好用,但不能监控已有的集群环境,挺悲催的。
1107 0
|
分布式数据库 Hbase
HBase源码分析之Region上Spilt流程
        HBase源码分析之Region上Spilt流程,近期推出!
877 0
|
存储 Java Shell
HBase源码分析之HRegionServer上compact流程分析
        前面三篇文章中,我们详细叙述了compact流程是如何在HRegion上进行的,了解了它的很多细节方面的问题。但是,这个compact在HRegionServer上是如何进行的?合并时文件是如何选择的呢?在这篇文章中,你将找到答案!         首先,在HRegionServer内部,我们发现,它定义了一个CompactSplitThread类型的成员变量compactSplitThread,单看字面意思,这就是一个合并分裂线程,那么它会不会就是HRegionServer上具体执行合并的工作线程呢?我们一步一步来看。
1386 0