2016-12-14 3 views
0

В моем понимании, когда я обновляю строку существующей rowkey с помощью таких методов, как put, тогда мы вставляем новую версию строки, однако, если rowkey не существует, она по-прежнему вставляет новую строку. Мое требование состоит в том, что если rowkey не существует, то не вставляйте новую строку.Обновить строку с несуществующей rowkey для hbase?

Как это сделать с hbase Java Client api?

+0

Пожалуйста, прочитайте [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask) и соответствующим образом отредактируйте свой вопрос, так как он значительно улучшит ваши шансы получить хорошие ответы взамен и не оставляйте свой вопрос нисходящим или закрытым. –

ответ

0

Вы можете использовать checkAndPut(rowkey,family,qualifier,CompareFilter.CompareOp.NOT_EQUAL,null,put) Но он проверяет наличие столбца в строке row и затем помещает.

Для проверки существования rowkey выполните сначала операцию получения и проверьте, существует или нет, а затем, соответственно, продолжайте с put.

+0

Как объяснялось ранее, если столбец отсутствует, он не будет делать put.Also он не основан на предположениях. Если вы хотите, вы можете посмотреть полный код. [Link] http://ideone.com/I1plTL –

+0

Я думаю, вы правы. Поэтому в этом случае pls помещают полный пример кода в ваш ответ. –

+0

checkAndPut - это то, что мне нужно, большое вам спасибо! –