大数据之Hbase:HBase之读写数据流程

Posted 浊酒南街

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据之Hbase:HBase之读写数据流程相关的知识,希望对你有一定的参考价值。

1.HBase写流程流程

在这里插入图片描述
写流程步骤:
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.HBase读流程流程

在这里插入图片描述
读流程步骤:
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)分别在MemStore和Store File(HFile)中查询目标数据,并将查到的所有数据进行合并。
5)将查询到的新的数据块(Block,HFile数据存储单元,默认大小为64KB)缓存到Block Cache。
6)将合并后的最终结果返回给客户端

以上是关于大数据之Hbase:HBase之读写数据流程的主要内容,如果未能解决你的问题,请参考以下文章

大数据之Hbase:Hbase面试题

大数据存储之hbase数据存储

大数据之Hbase:Hbase工作机制

大数据之Hbase:HBase优化

大数据之Hbase:Hbase中的rowkey以及热点问题

大数据之Hbase:HBase与Hive的对比