1
我知道hbase从来没有真正删除记录,它只是设置了一个墓碑标记。 但是如果数据量越来越大,并且某天您想要通过在某些选定行上进行硬删除(实际删除)来减小大小,该怎么办?有没有办法在HBase上进行硬删除(真正的删除)?
我知道hbase从来没有真正删除记录,它只是设置了一个墓碑标记。 但是如果数据量越来越大,并且某天您想要通过在某些选定行上进行硬删除(实际删除)来减小大小,该怎么办?有没有办法在HBase上进行硬删除(真正的删除)?
删除标记和删除的单元格在主要压缩过程中被删除。小型压实仅将小型HFile合并为更大型。您可以使用下面的命令来手动触发重大压实:
major_compact "table name"
压实(主要和次要)是一个在线操作。不需要维护窗口来执行压缩。
请记住,重大压缩可能需要很长时间,因为它会重组所有HFile。为避免负载较重的系统对性能造成负面影响,您可以考虑在高峰时段以外安排压缩。
重大压缩也会自动发生(默认情况下每7天)。计划的主要压缩的频率通过hbase.hregion.majorcompaction
参数进行控制。
轻微压实也可能升级为重大压实。
欲了解更多详情,我建议优秀HBase Reference Guide。
嗨伊万,谢谢你的回答!重大压缩需要关闭还是重新启动?它在任何生产主机上都可行吗? – Olivia
这是一个在线操作。不需要重新启动或关闭(通常)。压缩过程中发生的写入被存储在memstore中。 –