什么时候HBase实际上删除了一行?

Ric*_*ard 4 hbase

发布Delete到hbase时,我知道它不会立即删除数据.但是,什么时候删除数据,我的意思是,身体?

ali*_*der 15

当您向HBase写入内容时,它会存储在memstore(RAM)中,然后在此之后写入磁盘.这些磁盘写入通常是不可变的禁止压缩.

在hbase中的主要压缩期间会删除删除 - 这些操作大约每24小时运行一次,并且可以通过API或shell触发.主要压缩过程删除标记 - 次要压缩不会.

当您发出正常删除时,它会生成一个删除(逻辑删除)标记 - 这些删除标记及其表示的数据在压缩过程中被删除(压缩后的合并文件中不存在).

此外,如果删除数据并放置更多数据但时间戳早于墓碑时间戳(&符合先前删除的条件),则删除/逻辑删除标记可能会掩盖进一步的获取(仅在主要压缩后修复)已经运行)因此在这种情况下,在重大压实之前你不会收到插入值.

希望能帮助到你