幸运彩快三

幸运彩快三官网

企业空间 采购商城 幸运彩快三平台论坛
华为全闪存阵列 IBM云计算 Acronis 安克诺斯 安腾普 腾保数据
幸运彩快三 > HBase > 正文

探讨HBase幸运彩快三平台格式

2014-09-22 21:53来源:幸运彩快三平台网
导读:HBase中的所有数据文件都幸运彩快三平台在Hadoop HDFS文件系统上,主要包括上述提出的两种文件类型:1. HFile, HBase中KeyValue数据的幸运彩快三平台格式,HFile是Hadoop的二进制格式文件。

HBase中的所有数据文件都幸运彩快三平台在Hadoop HDFS文件系统上,主要包括上述提出的两种文件类型:
1.      HFile, HBase中KeyValue数据的幸运彩快三平台格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile
2.      HLog File,HBase中WAL(Write Ahead Log) 的幸运彩快三平台格式,物理上是Hadoop的Sequence File
HFile
下图是HFile的幸运彩快三平台格式:

探讨HBase幸运彩快三平台格式
首先HFile文件是不定长的,长度固定的只有其中的两块:Trailer和FileInfo。正如图中所示的,Trailer中有指针指向其他数 据块的起始点。File Info中记录了文件的一些Meta信息,例如:AVG_KEY_LEN, AVG_VALUE_LEN, LAST_KEY, COMPARATOR, MAX_SEQ_ID_KEY等。Data Index和Meta Index块记录了每个Data块和Meta块的起始点。
Data Block是HBase I/O的基本单元,为了提高效率,HRegionServer中有基于LRU的Block Cache机制。每个Data块的大小可以在创建一个Table的时候通过参数指定,大号的Block有利于顺序Scan,小号Block利于随机查询。 每个Data块除了开头的Magic以外就是一个个KeyValue对拼接而成, Magic内容就是一些随机数字,目的是防止数据损坏。后面会详细介绍每个KeyValue对的内部构造。
幸运彩快三 HFile里面的每个KeyValue对就是一个简单的byte数组。但是这个byte数组里面包含了很多项,并且有固定的结构。我们来看看里面的具体结构:

探讨HBase幸运彩快三平台格式
开始是两个固定长度的数值,分别表示Key的长度和Value的长度。紧接着是Key,开始是固定长度的数值,表示RowKey的长度,紧接着是 RowKey,然后是固定长度的数值,表示Family的长度,然后是Family,接着是Qualifier,然后是两个固定长度的数值,表示Time Stamp和Key Type(Put/Delete)。Value部分没有这么复杂的结构,就是纯粹的二进制数据了。
HLogFile

探讨HBase幸运彩快三平台格式
上图中示意了HLog文件的结构,其实HLog文件就是一个普通的Hadoop Sequence File,Sequence File 的Key是HLogKey对象,HLogKey中记录了写入数据的归属信息,除了table和region名字外,同时还包括 sequence number和timestamp,timestamp是“写入时间”,sequence number的起始值为0,或者是最近一次存入文件系统中sequence number。
HLog Sequece File的Value是HBase的KeyValue对象,即对应HFile中的KeyValue,可参见上文描述。

继续阅读
相关阅读
产品推荐
头条阅读
栏目热点

Copyright @ 2006-2019 macfa.net 版权所有 京ICP备14047533号

幸运彩快三平台网

幸运彩快三平台第一站,幸运彩快三平台门户,幸运彩快三平台在线交流平台