使用QueryBuilder通过Cassandra进行分页

时间:2014-12-24 10:16:12

标签: cassandra cassandra-2.0 datastax datastax-java-driver

DataStax documentation表示要翻阅所有数据,以下CQL查询很有用:

SELECT * FROM test WHERE token(k) > token(42);

是否可以使用QueryBuilder构建此查询?它提供了token方法,但这似乎只适用于列名,而不适用于值。

理想情况下,值(在示例中为42)的类型为Object,就像在eq / gte / lte函数中一样。

2 个答案:

答案 0 :(得分:1)

尝试使用.fetchSize方法自动分页。它使用引擎盖下的令牌:

Cassandra 2.0引入了自动分页功能。自动分页允许开发人员迭代整个ResultSet而不必关心它的大小:当客户端代码迭代结果而旧的分析被删除时,会获取一些额外的行。必须检索的行数可以在查询时进行参数化。在Java Driver中,这将是:

Statement stmt = new SimpleStatement("SELECT * FROM images");
stmt.setFetchSize(100);
ResultSet rs = session.execute(stmt);

来源:http://www.datastax.com/dev/blog/client-side-improvements-in-cassandra-2-0

答案 1 :(得分:0)

QueryBuilder.fcall(“token”,value);

可以解决问题!