大数据面试题:HBase读写数据流程

面试题来源:

《大数据面试题 V4.0》

大数据面试题V3.0,523道题,679页,46w字

参考答案:

1、写数据流程

1)Client先访问zookeeper,获取hbase:meta表位于哪个Region Server。

2)访问对应的Region Server,获取hbase:meta表,根据读请求的namespace:table/rowkey,查询出目标数据位于哪个Region Server中的哪个Region中。并将该table的region信息以及meta表的位置信息缓存在客户端的meta cache,方便下次访问。

3)与目标Region Server进行通讯;

4)将数据顺序写入(追加)到WAL;

5)将数据写入对应的MemStore,数据会在MemStore进行排序;

6)向客户端发送ack;

7)等达到MemStore的刷写时机后,将数据刷写到HFile。

2、读数据流程

1)Client先访问zookeeper,获取hbase:meta表位于哪个Region Server。

2)访问对应的Region Server,获取hbase:meta表,根据读请求的namespace:table/rowkey,查询出目标数据位于哪个Region Server中的哪个Region中。并将该table的region信息以及meta表的位置信息缓存在客户端的meta cache,方便下次访问。

3)与目标Region Server进行通讯;

4)分别在Block Cache(读缓存),MemStore和Store File(HFile)中查询目标数据,并将查到的所有数据进行合并。此处所有数据是指同一条数据的不同版本(time stamp)或者不同的类型(Put/Delete)。

5)将查询到的数据块(Block,HFile数据存储单元,默认大小为64KB)缓存到Block Cache。

6)将合并后的最终结果返回给客户端。

相关推荐
Java实践笔记30 分钟前
40亿QQ号,只有1G内存,怎么存储和去重?
算法·面试·腾讯
Linda L33 分钟前
Flink CDC将MySQL数据同步到数据湖
大数据·数据库·分布式·mysql·flink·kafka
黑客笔记37 分钟前
安全态势感知中的告警误报思考
大数据·深度学习·神经网络·web安全
ywyy67981 小时前
小程序定制开发:从需求到落地,打造企业专属数字化入口
大数据·网络·人工智能·小程序·短剧
GoldenaArcher1 小时前
Fullstack 面试复习笔记:操作系统 / 网络 / HTTP / 设计模式梳理
网络·笔记·面试
工呈士1 小时前
React进阶:状态管理选择题
前端·react.js·面试
CodeWithMe2 小时前
【C/C++】面试常考题目
c语言·c++·面试
江城开朗的豌豆2 小时前
JavaScript篇:Symbol:JavaScript里最神秘的‘记号’,你会用了吗?
前端·javascript·面试
江城开朗的豌豆2 小时前
JavaScript篇:【前端必备】数组方法大全:从‘会写’到‘玩出花’,你掌握几个?
前端·javascript·面试
江城开朗的豌豆2 小时前
JavaScript篇:JS数据类型大乱斗:谁才是类型判断的王者?
前端·javascript·面试