您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Cassandra分页:如何使用get_slice使用cql库从Python查询Cassandra 1.2数据库

Cassandra分页:如何使用get_slice使用cql库从Python查询Cassandra 1.2数据库

您可以通过几乎相同的方式进行分页:设置限制并从大于上一个接收到的列名开始。例如,我在键空间ks1中创建了一个表test1:

CREATE TABLE test1 (
  a text,
  b text,
  PRIMARY KEY (a, b)
)

这里a是我的行键,b是列名。然后,我从a到l插入了12条记录,其中a = a和b。所以

cqlsh:ks1> select * from test1;

 a | b
---+---
 a | a
 a | b
 a | c
 a | d
 a | e
 a | f
 a | g
 a | h
 a | i
 a | j
 a | k
 a | l

然后,我使用CQL驱动程序对该Python进行了分页

import cql
con = cql.connect('localhost', keyspace='ks1', cql_version='3.0.0')
cursor = con.cursor()
last = ""
while last != None:
    cursor.execute("select * from test1 where a=:a and b>:b limit 5", {"a": "a", "b": last})
    last = None
    for row in cursor:
        print row
        last = row[1]

总共5页的页面输出为:

[u'a', u'a']
[u'a', u'b']
[u'a', u'c']
[u'a', u'd']
[u'a', u'e']
[u'a', u'f']
[u'a', u'g']
[u'a', u'h']
[u'a', u'i']
[u'a', u'j']
[u'a', u'k']
[u'a', u'l']
python 2022/1/1 18:53:11 有512人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶