Hector BatchInserts和BatchSizeHint

时间:2012-12-05 17:51:32

标签: cassandra hector

我目前正在通过几个rowkeys对cassandra进行2000列的批量插入。我这样做的方法是使用addinsertion

while( cond... ){
myMutator.addInsertion(keyId, columnfamilyName,compositeColumn);
totalCount++;

    if(totalCount % 2000 == 0){
       myMutator.execute();
    }
}

有没有办法在不使用totalCount变量的情况下获取添加到批处理中的列数。 BatchMutation.getSize()返回批处理中添加了更新的键的数量。我想知道在创建mutator时sizeHint的用途是什么。通过查看hector的源代码,我无法获得更多细节。我只能看到它是分别创建内部的mutationMap和mutList到行数和列数。

2 个答案:

答案 0 :(得分:1)

BatchMutation有一个getSize()方法可以执行您想要的操作:

/**
   * Return the current size of the underlying map
   * @return
   */

public int getSize() {
    return mutationMap.size();
}

答案 1 :(得分:0)

看起来hector没有跟踪列数。所以我要使用之前使用的totalcount方法。