Hbase 旧Hfile中对行键的引用何时删除或失效?

Hbase 旧Hfile中对行键的引用何时删除或失效?,hbase,hdfs,hfile,Hbase,Hdfs,Hfile,hbase将记录更新(对于行键RK1)写入Hfile。但是,其中一个较旧的Hfile将包含对此行键RK1的引用。如何以及何时使对RK1的旧引用失效 假设存在包含rowkey RK1记录的Hfile。 然后更新此RK1,这意味着此更新将写入新的HFile。 包含RK1引用的旧Hfile必须无效。 如何以及何时在Hbase中完成此操作 谢谢。在HDFS中,文件是不可变的对象,因此新旧文件都将保留一个参考RK1。为了不在HDFS中保留大量的HFile,HBase会定期执行压缩工作:将旧的小HFile合

hbase将记录更新(对于行键RK1)写入Hfile。但是,其中一个较旧的Hfile将包含对此行键RK1的引用。如何以及何时使对RK1的旧引用失效

假设存在包含rowkey RK1记录的Hfile。 然后更新此RK1,这意味着此更新将写入新的HFile。 包含RK1引用的旧Hfile必须无效。 如何以及何时在Hbase中完成此操作


谢谢。

在HDFS中,文件是不可变的对象,因此新旧文件都将保留一个参考RK1。为了不在HDFS中保留大量的HFile,HBase会定期执行压缩工作:将旧的小HFile合并为新的大HFile并删除旧的小HFile。在使用文件进行压缩之前,RK1的引用将在HFile中。在小型压实期间,无法保证仅在几个HFiles上运行。主压缩合并所有文件。要强制删除旧值,应触发主要压缩。要小心主要的压缩,因为巨大的表会运行数小时。

在HDFS中,文件是不可变的对象,所以新旧文件都将保留一个参考RK1。为了不在HDFS中保留大量的HFile,HBase会定期执行压缩工作:将旧的小HFile合并为新的大HFile并删除旧的小HFile。在使用文件进行压缩之前,RK1的引用将在HFile中。在小型压实期间,无法保证仅在几个HFiles上运行。主压缩合并所有文件。要强制删除旧值,应触发主要压缩。对于运行数小时的大型表,请小心进行主要压缩。

谢谢,RK1上的读取操作将如何工作?因为在hfile中有两个对同一RK1的引用,那么在RK1更新到达时,hfile中对RK1的旧引用是否无效,因此,RK1的后续读取将定向到新的reference.HBase存储版本信息。它将从两个文件中读取比较版本信息并选择最新版本。因此,这意味着,定期压缩可以在一定程度上减少读取延迟。多谢,RK1上的读取操作将如何工作?因为在hfile中有两个对同一RK1的引用,那么在RK1更新到达时,hfile中对RK1的旧引用是否无效,因此,RK1的后续读取将定向到新的reference.HBase存储版本信息。它将从两个文件中读取比较版本信息并选择最新版本。因此,定期压缩可以在一定程度上减少读取延迟。