【问题标题】:What is the difference between Hbase checkAndPut and checkAndMutate?Hbase checkAndPut 和 checkAndMutate 有什么区别?
【发布时间】:2016-11-22 09:47:32
【问题描述】:

在 Hbase 1.2.4 中 checkAndPut 和 checkAndMutate 有什么区别?

【问题讨论】:

    标签: hadoop hbase key-value bigdata


    【解决方案1】:

    checkAndPut - 根据传递的 CompareOp 将该值与来自 hbase 的当前值进行比较。 CompareOp=EQUALS 如果预期值相等,则将值添加到 put 对象。

    checkAndMutate - 根据传递的 CompareOp.CompareOp=EQUALS 将该值与来自 hbase 的当前值进行比较,如果预期值相等,则将该值添加到 rowmutation 对象。

    您可以按照希望突变在 hbase 中执行的顺序将多个 put 和 delete 对象添加到 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);
    

    checkAndMutate https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#checkAndMutate-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.RowMutations-

    checkAndPut

    https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#checkAndPut-byte:A-byte:A-byte:A-org.apache.hadoop.hbase.filter.CompareFilter.CompareOp-byte:A-org.apache.hadoop.hbase.client.Put-

    【讨论】:

      猜你喜欢
      • 2014-09-11
      • 2015-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      相关资源
      最近更新 更多