0

我目前正在将几个行键中的 2000 列批量插入到 cassandra。我这样做的方法是使用 addinsertion

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

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

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

4

2 回答 2

1

BatchMutation有一个 getSize() 方法可以做你想做的事:

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

public int getSize() {
    return mutationMap.size();
}
于 2012-12-05T19:02:33.827 回答
0

看起来赫克托不跟踪列数。所以我将使用我之前使用的 totalcount 方法。

于 2012-12-07T05:38:10.680 回答