gpt4 book ai didi

java - Hbase Atomic 读取并删除一行

转载 作者:行者123 更新时间:2023-11-30 07:56:20 26 4
gpt4 key购买 nike

我们使用 hbase 表作为大队列。许多客户端可以向其中插入数据,并且许多客户端想要从中读取数据。问题是相互排斥。同时,一个客户端读取数据直到删除它,另一个客户端也可以读取它!但我们希望确保每一行返回一个且仅一个客户端。

我应该提到我们正在使用 Java hbase 客户端。

有没有像原子地获取和删除行或在 hbase 中获取和更新这样的方法,或者可以管理这种情况的东西?

我发现了 RowLock 机制,但它已被弃用并且不再存在。还有使用zookeeper的分配锁,但似乎效率不高。

提前致谢。

最佳答案

尝试这种方法

  1. 获取所需的行。查看java代码,没有被一一使用(具体列==0)。
  2. 检查该行是否存在且未被任何人使用。如果是,则标记它(即将列值从 0 增加到 1)x。所有这些都可以通过 checkAndPut 来完成
  3. 使用 checkAndDelete 删除行。

关于java - Hbase Atomic 读取并删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32624432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com