以下是我要插入cassandra
的代码Set<String> keys = MY_KEYS;
Map<String, String> pairsOfNameValues = MY_MUTATION_BY_NAME_AND_VALUE;
Set<HColumn<String, String>> colums = new HashSet<HColumn<String,String>>();
for (Entry<String, String> pair : pairsOfNameValues.entrySet()) {
colums.add(HFactory.createStringColumn(pair.getKey(), pair.getValue()));
}
Mutator<String> mutator = template.createMutator();
String column_family_name = template.getColumnFamily();
for (String key : keys) {
for (HColumn<String, String> column : colums) {
mutator.addInsertion(key, BASIC_COLUMN_FAMILY, column);
}
}
mutator.execute();
在某些情况下,我不知道有多少列插入到mutator中。有没有在执行方法之前/之后打印数据。
我尝试了Mutationresult.tostring()。它给出了以下回应。
MutationResult花了(3750us)在主机上查询(n / a): 本地主机(127.0.0.1):9160
Mutator to String也没有给我想要的结果。
请帮忙。
答案 0 :(得分:2)
是的,在执行查询之前尝试mutator.getPendingMutationCount()
。
除此之外,你必须推动计算你手动添加到mutator的列的逻辑。 toString()没有给你你想要的东西,因为你应该将mutator.execute()绑定到MutationResult
。 E.g:
MutationResult mr = mutator.execute();
但突变结果也不能给你带来更多。你可以知道这三件事(2真的......)
// the execution time
long getExecutionTimeMicro();
long getExecutionTimeNano();
// host used for the exec.
CassandraHost getHostUsed();