HBase表操作checkAndPut允许使用条件CompareOp的条件看跌期权。但是,似乎没有办法设置ByteArrayComparable。而是始终使用BinaryComparator。
任何人都可以推荐解决方法,例如使用LongComparator?
我自己的“研究”:
从协议看来,它是允许的:
message MutateRequest {
...
optional Condition condition = 3;
...
}
message Condition {
...
required Comparator comparator = 5;
}
message Comparator {
...
optional bytes serialized_comparator = 2;
}
在HBase 1.1.13客户端的checkAndPut
的{{1}}实现中,我看到正在使用HTable
,但我没有理由将其限制于此。
HBase客户端2和3似乎确实在“改善”了API,但是我看不到设置比较器的选择。
有一个“过时的” Jira问题:https://issues.apache.org/jira/browse/HBASE-9588并不太有用。