有没有办法回滚hbase

时间:2010-10-05 17:10:00

标签: hbase

有没有办法在单元级别将值回滚到上一个阶段(行级也可能有效)

我导入了一个包含错误数据的文件,我只需要回到上一阶段。

2 个答案:

答案 0 :(得分:2)

没有办法回滚Put to HBase。但是,HBase可以存储任何单元的多个版本,具体取决于列族的配置。默认情况下,它存储每个单元格的最新3个版本。完成新的Put后,您可以指定写入的时间戳,否则,它将使用当前的服务器时间。

因此,如果您使用默认值,并且每个单元格的输入不超过1或2,则应该能够通过执行Scan.setTimeStamp(timestampBeforeYouImportedBadData)来读取以前的数据。 / p>

答案 1 :(得分:2)

虽然没有回滚,但如果您当时没有进行任何其他更改并且存储了多个版本,则可以:

  • 使用setTimeRange对您的表进行扫描(只需指定您的错误数据所属的范围)

  • 使用扫描数据为所有不良数据创建时间戳限制删除。

当然,如果你只存储一个版本,那你就不走运了:/