HBase 数据读写过程描述 
我们熟悉的在 Hadoop 使用的文件格式有许多种,例如: 
Avro:用于 HDFS 数据序序列化与 
Parquet:常见于 Hive 数据文件保存在 HDFS中 
HFile 
HFile 是 HBase 使用的一种柱状存储文件,非常适合随机和实时读写。 
HBase 文件读写过程描述-LMLPHP
HFile 文件的头部记载 FileInfo 和 Meta 这是元数据。在启动 RegionServer 后每一个RegionServer 节点会将本地 DataNode 保存的 HFile 文件中的 FileInfo 和 Meta 加载到自身 JVM 的 memstore (元数据内存空间)中。 
read:对数据的读则由 memstore 检索存储的元数据,将 Data 块加载到 RegionServer JVM 中的 Data 内存空间。现在常用的 HFile v2 只需要将需要的元数据信息加载到内存中即可 
write:每次写入都会在 memstore 中添加信息,而不是写入 HFile 中,只有 memstore 存储空间不够时,元数据信息才会被刷回 HFile 中。 
HFile 自身已经对 HBase 中存储数据进行压缩。 
参考:http://blog.cloudera.com/blog/2012/06/hbase-io-hfile-input-output/

04-14 19:06