pycassa удалить определенный ключ из суперстолбца

Я знаю, как удалить весь суперстолбец, но не отдельный ключ внутри. Мой гугл-кунг-фу подвел меня.

Итак, чтобы удалить суперстолбец:

cf_accounts.remove('key', ['super_column'])

Я лаю не на то дерево?

Помощь приветствуется.


person rich tier    schedule 11.06.2012    source источник
comment
Это не отвечает на ваш вопрос, но, поскольку вы спрашиваете, похоже, что ваше приложение еще не зависит от суперстолбцов. Если возможно, прекратите использовать их сейчас, прежде чем ваша зависимость возрастет; они давно устарели и в остальном проблематичны.   -  person the paul    schedule 11.06.2012
comment
@thepaul спасибо за совет. Какой функционал заменил супер столбцы?   -  person rich tier    schedule 11.06.2012
comment
Композиты заменили их, хотя даже до того, как композиты были официально поддержаны, было лучшей идеей упаковать несколько значений в одно самостоятельно, а не использовать суперстолбцы. Для получения информации о том, как использовать композиты с CQL 3, внимательно прочитайте примеры по адресу datastax.com/dev/blog/schema-in-cassandra-1-1 .   -  person the paul    schedule 12.06.2012
comment
Спасибо. Буду использовать композиты.   -  person rich tier    schedule 13.06.2012


Ответы (1)


Вам нужно использовать параметр super_column.

cf.remove('key', super_column='super_column', columns=['sub_column'])

С учетом сказанного, совет @the Paul определенно верен.

person Tyler Hobbs    schedule 11.06.2012
comment
а если я хочу удалить все row_keys и столбцы? ключи генерировались динамически, т.е. «row_key0, row_key1...row_keyn» - person ArchieTiger; 04.06.2014
comment
Я предлагаю использовать для этого truncate(). В противном случае вам нужно будет удалить их все по отдельности или создать пакет (см. pycassa.batch) со всеми отдельными удалениями. - person Tyler Hobbs; 05.06.2014