我目前正在通过几个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到行数和列数。
答案 0 :(得分:1)
BatchMutation
有一个getSize()方法可以执行您想要的操作:
/**
* Return the current size of the underlying map
* @return
*/
public int getSize() {
return mutationMap.size();
}
答案 1 :(得分:0)
看起来hector没有跟踪列数。所以我要使用之前使用的totalcount方法。