Hbase checkAndPut 和 checkAndMutate 有什么区别?
What is the difference between Hbase checkAndPut and checkAndMutate?
在 Hbase 1.2.4 中
checkAndPut 和 checkAndMutate 有什么区别?
checkAndPut - 根据传递的 CompareOp 将值与来自 hbase 的当前值进行比较。 CompareOp=EQUALS 如果预期值相等,则将值添加到 put 对象。
checkAndMutate - 根据传递的值将值与来自 hbase 的当前值进行比较 CompareOp.CompareOp=EQUALS 如果预期值相等,则将值添加到 rowmutation 对象。
您可以按照希望在 hbase 中执行突变的顺序向 rowmutation 对象添加多个放置和删除对象
在 rowmutation 中,放置和删除的顺序很重要
RowMutations mutations = new RowMutations(row);
//add new columns
Put put = new Put(row);
put.add(cf, col1, v1);
put.add(cf, col2, v2);
Delete delete = new Delete(row);
delete.deleteFamily(cf1, now);
//delete column family and add new columns to same family
mutations.add(delete);
mutations.add(put);
table.mutateRow(mutations);
checkAndPut
在 Hbase 1.2.4 中 checkAndPut 和 checkAndMutate 有什么区别?
checkAndPut - 根据传递的 CompareOp 将值与来自 hbase 的当前值进行比较。 CompareOp=EQUALS 如果预期值相等,则将值添加到 put 对象。
checkAndMutate - 根据传递的值将值与来自 hbase 的当前值进行比较 CompareOp.CompareOp=EQUALS 如果预期值相等,则将值添加到 rowmutation 对象。
您可以按照希望在 hbase 中执行突变的顺序向 rowmutation 对象添加多个放置和删除对象
在 rowmutation 中,放置和删除的顺序很重要
RowMutations mutations = new RowMutations(row);
//add new columns
Put put = new Put(row);
put.add(cf, col1, v1);
put.add(cf, col2, v2);
Delete delete = new Delete(row);
delete.deleteFamily(cf1, now);
//delete column family and add new columns to same family
mutations.add(delete);
mutations.add(put);
table.mutateRow(mutations);
checkAndPut