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