如何使用pycassa获取存储在Cassandra列族中的所有键?

6 投票
5 回答
7816 浏览
提问于 2025-04-15 20:20

有没有人有使用 pycassa 的经验?我对它有个疑问。怎样才能获取数据库中存储的所有键呢?

在这个小代码片段中,我们需要提供键才能获取相关的列(这里的键是 'foo' 和 'bar'),这样没问题,但我想要的是一次性获取所有的键(仅仅是键),希望能以 Python 列表或类似的数据结构返回。

cf.multiget(['foo', 'bar'])
{'foo': {'column1': 'val2'}, 'bar': {'column1': 'val3', 'column2': 'val4'}}

谢谢。

5 个回答

1

get_range([start][, finish][, columns][, column_start][, column_finish][, column_reversed][, column_count][, row_count][, include_timestamp][, super_column][, read_consistency_level][, buffer_size])

这个函数可以让你获取一个指定范围内的行数据。

http://pycassa.github.com/pycassa/api/pycassa/columnfamily.html#pycassa.columnfamily.ColumnFamily.get_range

5

你可以试试这个:cf.get_range(column_count=0,filter_empty=False)

# Since get_range() returns a generator - print only the keys.
for value in cf.get_range(column_count=0,filter_empty=False):
    print value[0]
11

尝试一下:

    list(cf.get_range().get_keys())

这里还有更多好东西: http://github.com/vomjom/pycassa

撰写回答