Ich habe eine Spalte Familie, die mehrere Zähler Spalten hat. Jetzt möchte ich ihren Wert im Namen von verschiedenen Zeilenschlüsseln erhalten, Mittelwerte wie RangeSlicesQuery oder MultigetSliceQuery, die ich auf die Zählerspalte anwenden möchte, gib mir bitte einen Weg in der Zählerspalte.Wie bekomme ich einen Wert von Counter Column in Cassandra mit mehreren Zeilenschlüsseln?
7
A
Antwort
9
es funktioniert für mich in Java.
MultigetSliceCounterQuery<String, String> query=HFactory.createMultigetSliceCounterQuery(keyspace, se, se);
query.setColumnFamily("MyCounters").setKeys(list).setRange(null, null, false, 3);
CounterRows<String,String> resultRows1 = query.execute().get();
for (CounterRow<String, String> row : resultRows1) {
System.out.println("Row Key "+ row.getKey());
for (HCounterColumn<String> col : row.getColumnSlice().getColumns())
System.out.println("column Name "+col.getName()+"column value "+col.getValue());
}
}
0
, wie Sie in Scala tun, nach Ihrem scala Tag
val query = HFactory.createMultigetSliceCounterQuery(keyspaceName, se, se)
query.setColumnFamily("counterFamily").setKeys(list).setRange(null, null, false,3)
val resultRows = query.execute().get
resultRows.map{row=>
var countStatus = new scala.collection.immutable.HashMap[S, S]()
row.getColumnSlice.getColumns.map{col=>
countStatus += (col.getName -> col.getValue)
}
println(row.getKey -> countStatus)
}