HBase中Region, store, storefile和列簇的关系
- 转自:http://zhb-mccoy.iteye.com/blog/1543492
The HRegionServer opens the region and creates a corresponding HRegion object. When
the HRegion is opened it sets up a Store instance for each HColumnFamily for every table
as defined by the user beforehand. Each Store instance can, in turn, have one or more
StoreFile instances, which are lightweight wrappers around the actual storage file
called HFile. A Store also has a MemStore, and the HRegionServer a shared HLog in-stance。
原博客没有翻译,我这里大体翻译一下:RegionServer打开一个region的时候,会创建一个相应的HRegion对象。当这个HRegion被打开,他会为每一个表中的
每一个列簇创建一个Stroe实例,就想用户之前创建的那样。每一个Store实例相应地有一个或者多个StoreFile实例,StoreFile是对真正存储数据的文件(HFile)的
轻量级封装。一个Store还会有一个Memstore。每一个HRegionServer中的所有东西会共享一个HLog实例。
结合前面的图看就很清晰了。
hbase table中每个列簇都对应着region中的一个store,在hdfs系统中则对应着一个目录,如果列簇中尚无数据,怎该目录为空,也就是该store下还没有storefile。
1.house_hire_analysis 表中列簇total下无数据,另一张表fangyuan下有数据:
2.查看hdfs region下的内容
3. hbase console 如图:
4.put一条记录到house_hire_analysis中,并flush,flush将改动从memstore刷新到磁盘
5. hbase cosole storefile已经增加
6.新flush的kv根据策略会分别存到不同的storefiles中(最后compaction 会将这些小文件合并)
最新文章
- HTML5 之 FileReader(图片上传)
- WPF整理-跨程序集访问资源
- android:layout_height、android:layout_width、android:height、android:width的关系与区别
- Node.js入门:Node.js&;NPM的安装与配置
- 获取APK签名
- 转-TabHost组件(二)(实现底部菜单导航)
- UTF-8 GBK GB2312 之间的区别和关系
- NetCore第一步:千里之行 始于环境构筑
- python中struct模块及packet和unpacket
- rpm命令使用说明
- Html5学习--canvas
- yum lamp for Centos6.4
- 辛星跟您玩转vim第一节之vim的下载与三种模式
- python进阶(5):组合,继承
- 团队项目第二阶段个人进展——Day4
- 【朝花夕拾】四大组件之(一)Broadcast篇
- SSMP一次请求数据处理过程分析
- C++11并发——多线程条件变量std::condition_variable(四)
- MVC Repository模式
- 【进阶1-2期】JavaScript深入之执行上下文栈和变量对象(转)