有没有办法在硬删除 hbase 中的行时停止创建逻辑删除标记?
我们需要批量删除数百万行。 目前,我们遵循以下步骤顺序:
- 从 hbase 表中硬删除数据(使用 org.apache.hadoop.hbase.client.Delete API(
- 对受影响的表运行主要压缩。
- 将新数据加载到表中。
由于我们必须执行重大压实,因此目前我们被迫在非工作时间执行此活动。
有什么方法可以避免创建墓碑标记吗?
我们在堆栈溢出上发现了以下与问题相关的链接:
有没有办法在HBase上进行硬删除(真正的删除(?
谢谢阿努吉
如shay__所述,HFiles 是不可变的,您无法硬删除记录。但是您不必在删除后立即进行主要压缩。添加具有相同行键/cf/限定符/值和时间戳的行,且时间戳比删除的时间戳更新。您可以在空闲时间或需要时对工作台进行主要压缩。