我们在 Cassandra 1.2.0 中有一张桌子。那有一个 VarInt 键。当我们搜索键时,我们可以看到它们存在。
表说明:
CREATE TABLE u (
key varint PRIMARY KEY,
) WITH COMPACT STORAGE AND
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.000000 AND
gc_grace_seconds=864000 AND
read_repair_chance=1.000000 AND
replicate_on_write='true' AND
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'SnappyCompressor'};
Select key from u limit 10;
钥匙
12040911
60619595
3220132
4602232
3997404
6312372
1128185
1507755
1778092
4701841
当我尝试获取键 60619595 的行时,它工作正常。
cqlsh:users> select key from u where key = 60619595;
钥匙
60619595
cqlsh:users> select key from u where key = 3997404;
当我使用 pycassa 获取整个表时,我可以访问该行。
import pycassa
from struct import *
from pycassa.types import *
from urlparse import urlparse
import operator
userspool = pycassa.ConnectionPool('users');
userscf = pycassa.ColumnFamily(userspool, 'u');
users = {}
u = list(userscf.get_range())
for r in u:
users[r[0]] = r[1]
print users[3997404]
返回正确的结果。
我究竟做错了什么?我看不出错误是什么。
任何帮助,将不胜感激,
问候
迈克尔。
PS:当我尝试时,我应该在 pycassa 中这么说:
userscf.get(3997404)
文件“test.py”,第 10 行,在 userscf.get(3997404) 文件“/usr/local/lib/python2.7/dist-packages/pycassa/columnfamily.py”,第 655 行,在 get raise NotFoundException() pycassa.cassandra.ttypes.NotFoundException: NotFoundException(_message=None)
它似乎在小于平均值的整数中。