2012-06-11 4 views
3

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

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

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

Am Я ложному дерево?

Помогите оценить.

+1

Это не отвечает на ваш вопрос, но поскольку вы спрашиваете, похоже, что ваше приложение уже не зависит от суперколонн. Если возможно, прекратите использовать их сейчас, пока ваша зависимость не возрастет; они устаревают и в противном случае проблематичны. –

+0

@thepaul спасибо за подсказку. Что заменили функциональные возможности супер столбцов? – rikAtee

+1

Композиты заменили их, хотя даже до того, как композиты были официально поддержаны, лучше было собрать несколько значений в один самостоятельно, а не использовать суперколонны. Для получения информации о том, как использовать композиты с CQL 3, внимательно ознакомьтесь с примерами на http://www.datastax.com/dev/blog/schema-in-cassandra-1-1. –

ответ

3

Необходимо использовать параметр super_column.

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

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

+0

Что делать, если я хочу удалить все строки и столбцы? ключи были сгенерированы динамически i.e.row_key0, row_key1 ... row_keyn ' – ArchieTiger

+0

Я предлагаю использовать для этого метод truncate(). В противном случае вам нужно будет удалить их по отдельности или сделать пакет (см. Pycassa.batch) со всеми отдельными удалениями. –