我正在为 cassandra 使用 hector API。
我创建一个如下的计数器表
private void addColumnFamilyCounter(ThriftCluster cluster, String cfName, int rowCacheKeysToSave) {
String cassandraKeyspace = this.env.getProperty("cassandra.keyspace");
ThriftCfDef cfd =
new ThriftCfDef(cassandraKeyspace, cfName, ComparatorType.UTF8TYPE);
cfd.setRowCacheKeysToSave(rowCacheKeysToSave);
cfd.setDefaultValidationClass(ComparatorType.COUNTERTYPE.getClassName());
cluster.addColumnFamily(cfd);
}
并调用上述方法如下
addColumnFamilyCounter(cluster, COUNTER_CF, 0);
表格的格式如下
Primary key columns
Munich jingle : 1
mingle : 2
tingle : 1
pingle : 5
现在我想执行一个查询来获取慕尼黑下的所有列及其值。有什么办法可以得到所有的列。
到目前为止我所知道的是以下查询,但它只为我提供了主键和列键组合的价值。
@Override
public long getTagCounter(String domain, String tag) {
CounterQuery<String, String> counter =
new ThriftCounterColumnQuery<String, String>(keyspaceOperator,
StringSerializer.get(),
StringSerializer.get());
counter.setColumnFamily(TAG_COUNTER_CF).setKey("p_key").setName("name");
return counter.execute().get().getValue();
}