zoukankan      html  css  js  c++  java
  • HBase 读写数据流程

    一 写数据流程

    1)Client先访问zookeeper,获取hbase:meta表位于哪个RegionServer。
    2)访问对应的RegionServer,获取hbase:meta表,根据读请求的namespace:table/rowkey,查询出目标数据位于哪个RegionServer中的哪个Region中。并将该table的region信息以及meta表的位置信息缓存在客户端的metacache,方便下次访问。
    3)与目标RegionServer进行通讯;
    4)将数据顺序写入(追加)到WAL;
    5)将数据写入对应的MemStore,数据会在MemStore进行排序;
    6)向客户端发送ack;
    7)等达到MemStore的刷写时机后,将数据刷写到HFile。

    二 读数据流程

    1)Client先访问zookeeper,获取hbase:meta表位于哪个RegionServer。
    2)访问对应的RegionServer,获取hbase:meta表,根据读请求的namespace:table/rowkey,查询出目标数据位于哪个RegionServer中的哪个Region中。并将该table的region信息以及meta表的位置信息缓存在客户端的metacache,方便下次访问。
    3)与目标RegionServer进行通讯;
    4)分别在BlockCache(读缓存),MemStore和StoreFile(HFile)中查询目标数据,并将查到的所有数据进行合并。此处所有数据是指同一条数据的不同版本(timestamp)或者不同的类型(Put/Delete)。
    5)将从文件中查询到的数据块(Block,HFile数据存储单元,默认大小为64KB)缓存到BlockCache。
    6)将合并后的最终结果返回给客户端。

  • 相关阅读:
    爬虫系列---多线程爬取实例
    爬虫系列---selenium详解
    爬虫系列二(数据清洗--->bs4解析数据)
    爬虫系列二(数据清洗--->xpath解析数据)
    爬虫系列二(数据清洗--->正则表达式)
    爬虫实例系列一(requests)
    selenium PO模式
    setUp和tearDown及setUpClass和tearDownClass的用法及区别
    chromeIEFirefox驱动下载地址
    HTTP通信机制
  • 原文地址:https://www.cnblogs.com/noyouth/p/13124080.html
Copyright © 2011-2022 走看看