作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的目标是浏览我的 cassandra 数据库,其中的每个条目,并检查某个字段以查看是否需要执行操作。我正在使用此处找到的 erlang cql 驱动程序:https://github.com/matehat/cqerl
当我跑 select * from keyspace.table limit 10;
在 2000 年的表中,我得到了前 10 个结果……但是我需要得到下一个 1990 年。我如何使用 CQL 得到接下来的 10 个结果?我看到有对分页的支持,但没有关于如何在 cql 中做到这一点的文档。
我已经对这个问题进行了广泛的研究,似乎该主题的唯一答案是不完整的,而且这些问题的许多评论者都没有得到他们想要的答案:Iterating through Cassandra wide row with CQL3
提前谢谢你的帮助!
最佳答案
感谢@Atomic_alarm,我找到了答案。
这里的文档:https://www.datastax.com/dev/blog/client-side-improvements-in-cassandra-2-0指定如何使用 CQL 进行自动分页。
我没有像文档所说的那样使用 cql 命令行,而是使用了 erlang 驱动程序代码。首先,我将 1000 行插入到一个表中,然后我运行了下面的函数。它遍历所有 1000 个结果,一次 2 页:
test_page() ->
{ok, Client} = cqerl:get_client({}),
{ok, Res} = cqerl:run_query(Client, #cql_query{statement = "SELECT * FROM dks.devices;",
page_size = 2}),
get_more(Res, 0).
get_more(Res, Num) ->
case cqerl:has_more_pages(Res) of
true ->
{ok, Res2} = cqerl:fetch_more(Res),
get_more(Res2, Num+1);
false ->
Num
end.
关于Cassandra - 遍历表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46574445/
我是一名优秀的程序员,十分优秀!