看了一些资料,都说HBase的数据文件在HDFS系统中,因此本质上很难修改和删除数据。在HBase中,修改和删除数据都是增加1个新版本的数据(时间戳为最新),旧版本的数据并没有发生变化。hbase 介绍行健 都是这样说的,hbase的行健按字典排序存储。问题就在这里,假如row1 已经存储在一个hfile里面,已经落盘很久了。现在都已经存储了很多数据,都已经落盘了很多hfile数据。 当前如果有一个row1 的某个列更新。或者删除。首先放在MemStore,然后MemStore到达阈值落盘。这个时候 应该是新生成一个小的hfile文件。应该不会去更新hfile的老文件。因为hadoop不能更改文件。那这个时候。这个新的hfie里面会有row1,以前的hfile里面也有row1. 这样的情况hbase如何处理。 行健这个时候也不是按字典排序了。
hbase 介绍行健 都是这样说的,hbase的行健按字典排序存储
据说是不对的,只有同一个hfile才可以保证按字典排序存储