有没有办法回滚hbase

发布于 2024-09-26 08:43:18 字数 76 浏览 3 评论 0原文

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

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

Is there a way to rollback values to a previous stage at cell level (row level might work also)

I imported a file with wrong data and I just need to go back to previous stage.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅忆 2024-10-03 08:43:18

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

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

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

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

While there is no rollback, if you made no other changes at the time and are storing more than one version you could:

  • run a scan over your table using setTimeRange (just specify a range that your bad data falls into)

  • Use the data from the scan to create timestamp restricted Delete's for all the bad data.

Of course, if you're only storing one version, you're out of luck :/

毁虫ゝ 2024-10-03 08:43:18

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

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

There are no ways to roll back a Put to HBase. However, HBase can store multiple versions of any cell, depending upon the configuration of a column family. By default it stores the most recent 3 versions of each cell. When a new Put is done, you can specify the timestamp it's written to, otherwise, it uses the current server time.

So, if you're using the defaults, and you've done no more than 1 or 2 Puts to each cell, you should be able to read out your previous data by doing a Scan.setTimeStamp(timestampBeforeYouImportedBadData).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文