2016-12-14 25 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就是我所需要的,非常感謝你! –