2016-12-14 123 views
0

在我的理解中,当我使用put等方法更新现有rowkey的行时,我们插入该行的新版本,但是如果rowkey不存在,它仍会插入新行。 我的要求是,如果rowkey不存在,则不要插入新行。用hbase的不存在的rowkey更新行?

如何使用hbase Java客户端API?

+0

请阅读[我如何问一个好问题](http://stackoverflow.com/help/how-to-ask)并相应地编辑您的问题,因为它将大大提高获得良好答案的机会,并且没有你的问题downvoted或关闭。 –

回答

0

您可以使用checkAndPut(rowkey,family,qualifier,CompareFilter.CompareOp.NOT_EQUAL,null,put) 但它会检查rowkey中是否存在列,然后放入。

为了检查是否存在rowkey,首先执行get操作并检查是否存在,然后相应地继续put操作。

+0

正如前面所解释的那样,如果一列不存在,它不会做一个put。也不是基于假设。如果你想要你可以查看完整的代码。[link] http://ideone.com/I1plTL –

+0

我想你是对的。所以在这种情况下,请将完整的代码示例放在您的答案中。 –

+0

checkAndPut就是我所需要的,非常感谢你! –