【问题标题】:is there a way to rollback hbase有没有办法回滚hbase
【发布时间】:2010-10-05 17:10:00
【问题描述】:

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

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

【问题讨论】:

    标签: hbase


    【解决方案1】:

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

    • 使用 setTimeRange 对您的表运行扫描(只需指定您的不良数据所属的范围)

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

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

    【讨论】:

      【解决方案2】:

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

      因此,如果您使用默认设置,并且您对每个单元格执行的操作不超过 1 或 2 次,则您应该能够通过执行 Scan.setTimeStamp(timestampBeforeYouImportedBadData) 来读取您之前的数据。

      【讨论】:

        猜你喜欢
        • 2015-09-17
        • 2022-07-29
        • 1970-01-01
        • 1970-01-01
        • 2021-01-02
        • 1970-01-01
        • 2020-04-29
        • 2020-12-31
        • 2021-04-30
        相关资源
        最近更新 更多