hbase checkAndPut是否存在大于等于的值

hbase checkAndPut是否存在大于等于的值,hbase,Hbase,对于以下情况,我需要执行checkandput操作: 1:存在 2:值小于规定值 如果该值不存在或小于特定值,则将执行put操作 我知道它有两个版本的checkandput,我可以用其中一个请求实现任何一个条件。但我不知道如何用一个原子调用来检查这两个条件 boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier, byte[] value, Put put) boolean checkAndPut(byte[] row, b

对于以下情况,我需要执行checkandput操作:

1:存在 2:值小于规定值

如果该值不存在或小于特定值,则将执行put操作

我知道它有两个版本的checkandput,我可以用其中一个请求实现任何一个条件。但我不知道如何用一个原子调用来检查这两个条件

boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier, byte[] value, Put put)
boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, byte[] value,Put put)
提前谢谢


James

与RDBMS不同,HBase或大多数KeyValue存储中没有类似于null的内容。

HBase具有动态模式。因此,与RDBMS DB不同,每行可以有不同的列

因此,如果列的值为null,则不需要将列写入行。我认为,您应该使用:

boolean checkAndPut(byte[] row, byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, byte[] value,Put put)

如果您只想检查它是否为空?然后检查该行中是否存在该列

对。我想检查一下它的存在。如果它存在,我们将检查该值,然后放入。如果没有,我们将直接运行put。如何做到这一点。谢谢。我试过了。它适用于现有值,但不适用于不存在的值。或者,您可以增强(在HBase中提交补丁)该方法,以便它也可以开始使用不存在的值。