HBase:在从hbase硬删除行时,有什么方法可以停止创建逻辑删除标记吗?

时间:2020-06-23 17:11:33

标签: hbase cloudera cloudera-cdh

在从hbase硬删除行时,有什么方法可以停止创建逻辑删除标记吗?

我们需要批量删除数百万行。 目前,我们遵循以下步骤顺序:

  1. 从hbase表中硬删除数据(使用org.apache.hadoop.hbase.client.Delete API)
  2. 对受影响的表进行重大压缩。
  3. 将新数据加载到表中。

由于我们必须进行大型压实,因此当前我们不得不在下班时间执行此活动。

有什么方法可以避免创建墓碑标记?

我们找到了以下与stackoverflow问题相关的链接:

Is there a way to do hard delete (real delete) on HBase?

谢谢

Anuj

1 个答案:

答案 0 :(得分:0)

正如shay__所说,HFile是不可变的,您不能硬删除记录。但是您不必在删除后立即进行重大压缩。添加具有相同的rowkey / cf / qualifier / value的行,并且其时间戳比Delete的时间戳新。您可以在空闲时间或需要时主要压缩表。