В основном я задаю то же самое, что и в этот вопрос , но для библиотеки 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, я должен быть в состоянии сделать что-то подобное ...
Спасибо