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)将合并后的最终结果返回给客户端。

  • 相关阅读:
    神经网络之非线性分类器——神经网络
    卷积神经网络之迁移学习
    卷积神经网络之卷积的结构和参数的多少
    卷积神经网络之卷积的物理意义
    神经网络的后续改进
    图像的矩 图像的轮廓面积和长度
    包围轮廓的矩形边界 opencv
    Linux中的环境变量配置文件及其作用
    Linux中的数值运算
    Linux中接收键盘输入
  • 原文地址:https://www.cnblogs.com/noyouth/p/13124080.html
Copyright © 2011-2022 走看看