通过hector API在cassandra中寻呼用户定义的查询
我已经添加了一个基本的方法,其余的东西你必须处理。在这里,你可以看到我们已经将页面大小定义为100行,每行有10列。现在在第一次迭代之后,你必须存储一些如何存储最后的键值,这将是迭代的起点。
int row_count = 100;
RangeSlicesQuery<UUID, String, Long> rangeSlicesQuery = HFactory
.createRangeSlicesQuery(keyspace, UUIDSerializer.get(), StringSerializer.get(), LongSerializer.get())
.setColumnFamily("Column Family")
.setRange(null, null, false, 10)
.setRowCount(row_count);
UUID last_key = null;
while (true) {
rangeSlicesQuery.setKeys(last_key, null);
System.out.println(" > " + last_key);
QueryResult<OrderedRows<UUID, String, Long>> result = rangeSlicesQuery.execute();
OrderedRows<UUID, String, Long> rows = result.get();
Iterator<Row<UUID, String, Long>> rowsIterator = rows.iterator();
if (last_key != null && rowsIterator != null) rowsIterator.next();
while (rowsIterator.hasNext()) {
Row<UUID, String, Long> row = rowsIterator.next();
last_key = row.getKey();
if (row.getColumnSlice().getColumns().isEmpty()) {
continue;
}
}
}
}
你没有考虑采取我必须激发我自己的查询,像select * from
我没有在示例中提及这些内容,因为这些内容取决于where子句,无论是索引列上的还是只有键,您必须相应地选择合适的分片器(RangeSlicesQuery,IndexedSlicesQuery,MultigetSliceQuery)。查看hectors示例https://github.com/zznate/hector-examples/tree/master/src/main/java/com/riptano/cassandra/hector/example – abhi 2013-03-15 05:44:25
你所要求似乎很可能,也许用户定义的查询的一些例子可以帮助我们在提供解决方案 – abhi 2013-03-14 13:01:06
@abhijit SELECT * FROM – 2013-03-14 13:53:43