【HBase-读写流程】HBase的读写流程与内部执行机制
1)HBase 读取数据流程
1.1.文字描述
1、客户端发起读取数据的请求,然后首先要连接 zookeeper,通过 zookeeper 去找到 HBase 中的 meta 文件对应 region 所对应的 regionserver 的地址。
此时注意:
-
如果是用 scan 发起的全局扫描,那么就会在 meta 文件中找到表中所有数据对应的所有的 region,并且返回所有 region 对应的所有的 regionserver 的地址。
-
如果是用 get 发起的局部扫描,那么就会在 meta 文件中找到要搜索数据的 rowkey 对应的 region 所对应的 regionserver 的地址。
2、此时开始并发连接 regionserver,首先要读取 memstore 中的数据,然后读取块缓存中的数据,其次读取小的 storefile 中的数据,最后读取大的 HFile 中的数据。
3、客户端读取完数据后,将读取的数据进行排序,展示给用户。
注意:
如果在读取数据的时候,有过滤的信息,那么这些过滤条件会被分发到对应的region上,由各个region进行相关的过滤