我想以编程方式检查大型 cassandra 表中的所有行,并希望使用 CQL。我知道我可以使用 thrift 来做到这一点,使用 multiget 一次获取 10,000(左右)行,并将最后检索到的密钥传递给下一个 multiget 调用。但我翻遍了所有关于CQL select的文档,似乎没有办法做到这一点。我不得不将选择限制设置得越来越高,并将超时设置得越来越高以匹配它。
是否有一种未记录的方法来将起点交给 CQL select,或者我只需要使用 thrift API 分解并重写我的代码?
事实证明,大于和小于具有非常不直观但有用的行为(至少在 CQL2 中,我还没有检查 CQL3)。它实际上比较的是标记而不是键值。这是一个例子:
> create table users (KEY varchar PRIMARY KEY, data varchar);
> insert into users (KEY, 'data') values ('1', 'one');
> insert into users (KEY, 'data') values ('2', 'two');
> insert into users (KEY, 'data') values ('3', 'three');
> insert into users (KEY, 'data') values ('4', 'four');
> select * from users;
3 | three
2 | two
1 | one
4 | four
> select * from users LIMIT 1;
3 | three
> select * from users WHERE KEY > '3' LIMIT 1;
2 | two
> select * from users WHERE KEY > '2' LIMIT 1;
1 | one
> select * from users WHERE KEY > '1' LIMIT 1;
4 | four
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)