Обрезать/удалить все столбцы, кроме одного из Cassandra

У меня есть такое семейство столбцов -

create column family TEST
with key_validation_class = 'UTF8Type'
and comparator = 'UTF8Type'
and default_validation_class = 'UTF8Type'
and column_metadata = [ {column_name : 'date', validation_class : DateType}];

И это семейство динамических столбцов, что означает, что мы можем вставлять множество столбцов и данные во время выполнения... Мы хотим сохранить только один столбец и его данные в указанном выше семействе столбцов. Это означает, что мы хотим удалить все остальные столбцы, кроме этого над одним столбцом и его данные из этого семейства столбцов...

Как лучше всего это сделать? Должны ли мы написать простую программу для этого или есть какой-либо другой способ, с помощью которого мы можем удалить все столбцы, кроме одного столбца, который мне нужен, и его данных.

Спасибо..


person AKIWEB    schedule 14.10.2013    source источник


Ответы (1)


Самый простой способ - прочитать один столбец, который вы хотите сохранить, и скопировать его куда-нибудь, затем обрезать CF, а затем записать сохраненный столбец обратно.

person rs_atl    schedule 15.10.2013
comment
что тогда произойдет с приложением, использующим эти таблицы? Вы думаете о внесении изменения в код? - person AKIWEB; 15.10.2013
comment
Если вы пишете в этот CF одновременно с удалением, нет никакой гарантии, что вы получите только один столбец. Я предполагаю, что вы делаете это для автономного CF; в противном случае вам нужно будет вручную удалить столбцы. Если вы сделаете это, вы создадите надгробия, и вам нужно убедиться, что вашему запросу не нужно читать весь список надгробий, прежде чем добраться до вашей одной строки. Это звучит как ужасная модель данных, FWIW. - person rs_atl; 16.10.2013
comment
Атрибуты, которые нам нужно удалить, мы больше не записываем... Только один атрибут, который нам нужен, мы просто записываем его в CF.. И что бы ни происходило чтение, оно происходит только в этом единственном столбце ... - person AKIWEB; 16.10.2013
comment
Возможно, вам следует немного описать свой вариант использования. Из опубликованного вами фрагмента CLI и описания вашей проблемы я уверен, что вашу модель данных можно улучшить, чтобы полностью избавиться от этой проблемы. - person rs_atl; 16.10.2013