Cassandra-遍历表行

Cassandra-遍历表行,cassandra,pagination,erlang,cql,Cassandra,Pagination,Erlang,Cql,我的目标是检查我的cassandra数据库,其中的每个条目,并检查某个字段,看看是否需要执行某个操作。我正在使用此处找到的erlang cql驱动程序: 当我运行时,从keyspace.table limit 10中选择*在2000的表格中,我得到了前10个结果。。。但我需要得到下一个1990年。如何使用CQL获取下一个10?我看到有对分页的支持,但没有关于如何在cql中进行分页的文档 我已经对这个问题进行了广泛的研究,似乎关于这个主题的唯一答案是不完整的,而且这些问题的许多评论者没有得到他们想

我的目标是检查我的cassandra数据库,其中的每个条目,并检查某个字段,看看是否需要执行某个操作。我正在使用此处找到的erlang cql驱动程序:

当我运行
时,从keyspace.table limit 10中选择*在2000的表格中,我得到了前10个结果。。。但我需要得到下一个1990年。如何使用CQL获取下一个10?我看到有对分页的支持,但没有关于如何在cql中进行分页的文档

我已经对这个问题进行了广泛的研究,似乎关于这个主题的唯一答案是不完整的,而且这些问题的许多评论者没有得到他们想要的答案:


提前感谢您的帮助

多亏了@Atomic_alarm,我找到了答案

这里的文档:指定如何使用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.

删除
限制10
,您将获得所有记录。如果你想跳过一些计数-使用
skip
而不是
limit
。我不想全部加载,这才是关键-如果我有1000万条记录全部加载到我的ram中,我会遇到问题。我一次要10,20,100,X,数量。因此,我将在表中进行“迭代”。哦,我明白了。在
#cql_查询
中设置
页面大小
,并使用自述文件中的代码(部分分页)。@Atomic_alarm此操作非常有效!非常感谢。我将发布一个关于我的确切方法的答案,当你发布时我会接受你的答案。不,如果你自己写的话会更好。