2021年大数据HBase(十三):HBase读取和存储数据的流程
全网最详细的大数据HBase文章系列,强烈建议收藏加关注!
新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点。
目录
系列历史文章
HBase读取和存储数据的流程
一、HBase读取数据的流程
二、HBase存储数据的流程
客户端的同步流程:
异步服务器端执行过程:
系列历史文章
2021年大数据HBase(十七):HBase的360度全面调优
2021年大数据HBase(十六):HBase的协处理器(Coprocessor)
2021年大数据HBase(十五):HBase的Bulk Load批量加载操作
2021年大数据HBase(十四):HBase的原理及其相关的工作机制
2021年大数据HBase(十三):HBase读取和存储数据的流程
2021年大数据HBase(十二):Apache Phoenix 二级索引
2021年大数据HBase(十一):Apache Phoenix的视图操作
2021年大数据HBase(十):Apache Phoenix的基本入门操作
2021年大数据HBase(九):Apache Phoenix的安装
2021年大数据HBase(八):Apache Phoenix的基本介绍
2021年大数据HBase(七):Hbase的架构!【建议收藏】
2021年大数据HBase(六):HBase的高可用!【建议收藏】
2021年大数据HBase(五):HBase的相关操作-JavaAPI方式!【建议收藏】
2021年大数据HBase(四):HBase的相关操作-客户端命令式!【建议收藏】
2021年大数据HBase(三):HBase数据模型
2021年大数据HBase(二):HBase集群安装操作
2021年大数据HBase(一):HBase基本简介
HBase读取和存储数据的流程
一、HBase读取数据的流程
1、由客户端发起读取数据的请求, 首先先连接 zookeeper , 从zookeeper获取hbase:meta表被哪个regionServer所管理meta表中主要记录了 hbase中各个表有那些region,以及每个region被哪个regionServer所管理hbase中非常特殊的元数据存储表, 此表只会有一个region
2、连接meta对应的regionServer, 从meta中获取要查询数据的在那些region中, 并将其对应regionServer地址返回给客户端
3、开始并行的连接这些regionServer, 从这些regionServer中获取数据,先从 memStore --> blockCache ---> storeFile ---> 大的Hfile
4、各个regionserver将读取到数据返回给client , client根据需要过滤出需要的数据, 最后展示给调用者
二、HBase存储数据的流程
客户端的同步流程:
1、客户端发起写入数据的请求, 首先会先连接zookeeper, 从zookeeper获取hbase:meta表所在的regionServer的地址
2、连接meta表对应的regionServer, 从meta表获取目标表对应要写入数据的region的地址(基于region的startkey和endKey来确定)
3、连接对应region的regionServer的地址, 开始进行数据的写入
4、首先先将数据写入到这个regionServer的Hlog日志中, 然后在将数据写入到 对应的region中store模块的memStore中, 当这个两个地方都写入完成后, 客户端就会认为数据写入完成了
异步服务器端执行过程:
5、客户端不断的进行数据的写入工作, memStore数据也会不断的增多, 当memStore中数据达到一定的阈值(128M|1小时)后, 内部最终启动一个flush线程, 将数据刷新到HDFS上, 形成一个storeFile文件
6、随着memStore不断刷新数据到HDFS中, storeFile文件也会越来越多, 当storeFile的文件达到一定的阈值后(3个及以上), 启动compact线程, 将多个文件合并最终合并为一个大文件(Hfile)
7、随着不断的合并, 这个大的Hfile文件也会越来越大, 当这个大的Hfile达到一定的阈值(最终10GB)后, 启动split机制, 将大的Hfile一分为二的操作, 此时region也会进行分割操作, 变成两个新的region, 每个region管理每个分割后新的Hfile文件, 原有就得region就会被下线
8、随着不断的进行split, 表的region的数量也会越来越多的
-
2021年大数据HBase(十三):HBase读取和存储数据的流程相关推荐
- 数据导入(excel读取,存储进数据库【多表】)
QQ:1187362408 欢迎技术交流和学习 数据导入(excel读取,存储进数据库[多表]),业务需求 TODO: 1,选择导入地区 2,数据校验: (角色类别[1]:一个用户具有多角色 ...
- (pytorch-深度学习系列)读取和存储数据-学习笔记
读取和存储数据 我们可以使用pt文件存储Tensor数据: import torch from torch import nnx = torch.ones(3) torch.save(x, 'x.pt ...
- php mysql 读取中文数据的函数_php读取mysql中文数据出现乱码的解决方法
以下是对php读取mysql中文数据出现乱码问题的解决方法进行了介绍,需要的朋友可以过来参考下 1.PHP页面语言本身的编码类型不合适,这时候,你直接在脚本中写的中文肯定是乱码,不用说数据库了 解决方 ...
- sqlitepython导入数据_python从sqlite读取并显示数据的方法
这篇文章主要介绍了 python 从 sqlite 读取并显示数据的方法 , 涉及 Python 操作 SQLite 数据库的读取及显示相关技巧 , 需要的朋友可以参考下 import cgi, os ...
- python读取redis存储数据的存储时间_Python读写Redis数据库操作示例
使用Python如何操作Redis呢?下面用实例来说明用Python读写Redis数据库. 比如,我们插入一条数据,如下: import redis class Database: def __ini ...
- python读取mat数据_Python几种读取mat格式数据的方法,python几种读取mat
Python几种读取mat格式数据的方法,python几种读取mat matlab中使用的数据一般会以mat的格式存储,用python读取有以下几种方法 1.使用scipy,具体实现如下: impor ...
- ajax存储单个数据_科学家现在可以使用单个原子存储数据
ajax存储单个数据 Here are this week's three links that are worth your time: 这是本周值得您花时间的三个链接: 1. Scientists ...
- 微型表格计算机,excel表格存储数据的最小单位-计算机中存储数据的最小单位是什么?...
计算机中存储数据的最小单位和存储容量的基本单位... 位(bit)是制数的本单位,存储器存储信息的最小单位,8位二进制数称为字节(byte).当一个数作为一个整体存入或取出时,这个数叫做存储字.存储字 ...
- U盘的工作原理(读取和存储数据)
U盘设计 "USB闪存盘"(以下简称"U盘")是基于USB接口.以闪存芯片为存储介质的无需驱动器的新一代存储设备.U盘的出现是移动存储技术领域的一大突破,其体积 ...
最新文章
- java operators_Java Basic Operators
- WordPress 性能优化:为什么我的博客比你的快
- 巧用Eclipse中用户自定义包(User Libraries)
- JavaScript 正则表达式
- 循环神经网络matlab程序设计,神经网络及深度学习(包含matlab代码).pdf
- Java技术中的三大特性
- R学习之——R用于文本挖掘(tm包)
- 监控ajax上传进度
- Python Class System
- 关于IBM刀片服务器
- QT编写的数据转曲线工具
- 12.SpringBoot集成微信公众号开发
- 钟平逻辑英语语法_钟平逻辑英语教程视频1-5季全(含笔记 支持百度云)
- 模仿百思不得姐项目开发总结
- CNN应用之性别、年龄识别
- 辐射4核能选项用计算机失败,玩游戏出问题了?《辐射4》PC版常见问题汇总和解决方案...
- print()和println()的区别
- 2023 zibll 子比主题 美化插件 全开源
- Win10 解决电脑重启后 需重新设置双网卡共享问题
- day9 进程 协程
热门文章
- 在Dockerfile中设置G1垃圾回收器参数
- MybatisPlus忽略实体类中的非数据库字段、JPA忽略实体类中的非数据库字段、HeHibernate忽略实体类中的非数据库字段
- 2022-2028年中国钢铁电商产业竞争现状及发展前景预测报告
- 2022-2028年中国大飞机项目产业链分析及投资咨询报告
- OpenCV 笔记(08)— 二维点、三维点、基于 Mat 的 std::vector 等常用数据结构的定义和输出
- Redis 笔记(05)— hash 类型(设置获取单个hash值、判断hash键是否存在、设置获取多个hash值、获取所有hash的键、获取所有hash的值、删除hash指定键)
- tableau问题汇总
- 使用 Pytorch 实现 skip-gram 的 word2vec
- LeetCode简单题之差的绝对值为 K 的数对数目
- CPU0 处理器的架构及应用
- 数据导入(excel读取,存储进数据库【多表】)