基本的に、私はこの質問と同じことを尋ねていますが、Python Cassandra ライブラリの PyCassa についてです。
次のようなデータを格納する複合型があるとします。
[20120228:finalscore] = '31-17'
[20120228:halftimescore]= '17-17'
[20120221:finalscore] = '3-14'
[20120221:halftimescore]= '3-0'
[20120216:finalscore] = '54-0'
[20120216:halftimescore]= '42-0'
したがって、次のようにすることで、複合型の最初の部分に基づいて簡単にスライスできることがわかります。
>>> cf.get('1234', column_start('20120216',), column_finish('20120221',))
OrderedDict([((u'20120216', u'finalscore'), u'54-0'),
((u'20120216', u'halftimescore'), u'42-0')])
しかし、ファイナルスコアだけが必要な場合は、次のことができると思います。
>>> cf.get('1234', column_start('20120216', 'finalscore'),
column_finish('20120221', 'finalscore'))
取得するため:
OrderedDict([((u'20120216', u'finalscore'), u'54-0')])
しかし、代わりに、私は得る:
OrderedDict([((u'20120216', u'finalscore'), u'54-0'),
((u'20120216', u'halftimescore'), u'42-0')])
1回目の電話と同じ。
私は何か間違ったことをしていますか?これは機能するはずですか?または、 cf.get(... columns=[('20120216', 'finalscore')]) を使用する構文がありますか? 私もそれを試してみましたが、例外が発生しました。
http://www.datastax.com/dev/blog/introduction-to-composite-columns-part-1によると、このようなことができるはずです...
ありがとう