HBase:major_compact无法正常工作

时间:2014-08-04 13:45:48

标签: database hadoop hbase bigdata

当我在Apache HBase中运行主要压缩时,除非我首先完全重启HBase,否则它不会删除标记为删除的行。

首先,我删除了我想要的行,然后执行扫描,看看我想要的行是否标记为删除:

column=bank:respondent_name, timestamp=1407157745014, type=DeleteColumn                                             
column=bank:respondent_name, timestamp=1407157745014, value=STERLING NATL MTGE CO., INC

然后我运行命令major_compact 'myTable'并等待几分钟,以便在后台完成主要压缩。然后当我再次执行扫描时,行和逻辑删除标记仍在那里。

但是,如果我重新启动HBase并运行另一个主要压缩,则行和逻辑删除标记会消失。简而言之,如果我在运行主要压缩之前执行HBase的重启,major_compact似乎只能正常工作。关于为什么会出现这种情况的任何想法?我希望每次运行主要压缩时都会删除行和墓碑标记。感谢。

2 个答案:

答案 0 :(得分:0)

我的经验是在为此表运行major_compact之前首先刷新表

hbase> flush' table' hbase> major_compact' table'

答案 1 :(得分:0)

步骤1.创建表

  

创建'mytable','col1'

第2步。将数据插入表中

  

输入'mytable',1,'col1:name','srihari'

第3步。刷新表格

  

刷新“ mytable”   在下面的位置观察一个文件

位置:/ hbase / data / default / mytable / * / col1

再重复第2步和第3步,观察该位置,我们可以在该位置看到两个文件。

现在执行以下命令

  

major_compact'mytable'

现在我们只能在该位置看到一个文件。