因为hbase是基于hdfs的,而且hdfs没有更新功能,所以我想知道它的更新操作是否会重写hadoop上的整个hfile文件?谢谢
vi4fp9gy1#
hbase中没有更新。在hbase(整行或特定单元格)中执行删除操作时,会向单元格中添加一个特殊的删除标记。即将进行的扫描或get操作将看不到该单元格。执行插入时,只需创建一个具有当前时间戳的新单元格。扫描和获取操作将返回单元格的较新版本。真正的物理删除是在hbase主压缩期间执行的。此外,压缩后,hfiles的数量减少,以提供更快的读取操作。
1条答案
按热度按时间vi4fp9gy1#
hbase中没有更新。
在hbase(整行或特定单元格)中执行删除操作时,会向单元格中添加一个特殊的删除标记。即将进行的扫描或get操作将看不到该单元格。
执行插入时,只需创建一个具有当前时间戳的新单元格。扫描和获取操作将返回单元格的较新版本。
真正的物理删除是在hbase主压缩期间执行的。此外,压缩后,hfiles的数量减少,以提供更快的读取操作。