2013-05-22 4 views
2

Мне нужно скопировать ColumnFamily в том же ключевом пространстве - мне не нужны данные в этом ColumnFamily, только метаданные CF (свойства, настройки и т. д. - все, что вы хотели бы назвать).Скопируйте ColumnFamily в cassandra (метаданные, а не фактические строки)

Я не могу найти что-либо в Интернете, описывающее этот процесс (также не могу найти, возможно ли это или нет).

Любые предложения/идеи?

Я могу использовать python или java (astyanax или hector). Также, я бегу cassandra 1.1

Спасибо!

ответ

1

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

use keyspace; 
show schema; 

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

Или при использовании CQL, вы можете использовать тот же подход от cqlsh или CQL-драйвера.

Вы также можете сделать это в Гекторе. Используйте Cluster.describeKeyspace(), чтобы получить KeyspaceDefinition для вашего ключа. Затем найдите семейство столбцов, которое вы хотите скопировать в списке от getCfDefs(). Измените его имя на setName и создайте его с помощью Cluster.addColumnFamily.

+0

Что касается CLI - это все равно будет ручной процесс, верно? Понятно, что команды «копировать» не существует. Что касается подхода к hector, это не действительно копия, а скорее «переименование», из того, что я понимаю? – Vladimir

+0

Нет команды копирования. Подход Гектор - это копия - он создает новое семейство столбцов с той же конфигурацией, что и раньше, но с другим именем. – Richard

+0

Хорошо, понял. Я собираюсь принять ваш ответ, но вам придется попробовать это позже. Благодарю. – Vladimir

 Смежные вопросы

  • Нет связанных вопросов^_^