Cassandra1.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>uからキーを選択します。ここで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)
平均よりも小さいIntにあるようです。