如何防止 Hbase 覆盖单元格中的现有值?

发布于 2024-11-30 19:48:21 字数 140 浏览 1 评论 0原文

任何人都可以解释如何防止 hbase 更新具体列和键中的单元格(如果值已存在)?
例如,当并行的两个进程写入 VERSIONS = 1 的同一个单元格时,只有最后一个进程会出现在数据库中,而我只需要第一个进程,而另一个进程应该失败。

Can anyone explain how to prevent hbase from updating the cell in the concrete column and key if the value already exists?
For example when the two processes in parallel will write to the same cell where VERSIONS = 1, only the last one will be present in the database, while I need only the first one, and the other should fail.

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

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

发布评论

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

评论(1

撩人痒 2024-12-07 19:48:21

如果强制版本为1,HBase将只保留存储的最后一个版本。您可以增加允许的版本。

但是,如果您对某个行键进行了多次点击,则这可能表明行键设计不佳。应该巧妙地创建行键,以便实现良好的分区和独特的命中。这减少了区域服务器上的热点并提高了整体性能。

对于有大量冗余行命中的情况,不应使用版本限制 1,除非您只关心最近的命中。

If you force versions to be 1, HBase will only keep the last version stored. You could increase the allowed versions.

However, if you are having multiple hits to a row-key, this may be an indication of poor row-key design. Row-keys should to be cleverly created in order to allow for good partitioning and unique hits. This reduces hot-spots on Region Servers and improves performance overall.

For instances where you have a lot of redundant row hits, you should not be using a version limit of 1 unless you only care about the MOST RECENT hit.

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