Набор Супер Колонна Семья в Кассандра Кли
Я использую Cassandra 0.8.0.
Я не могу понять, как использовать Cassandra-Cli для добавления значений в существующий SuperColumn. Например: я добавил следующее в свое пространство клавиш
create column family authors
with comparator = UTF8Type and subcomparator = UTF8Type
and default_validation_class = UTF8Type
and column_metadata = [{
column_name: tags, validation_class: UTF8Type},
{column_name: url, validation_class:UTF8Type},
{column_name: title, validation_class: UTF8Type},
{column_name: publisher, validation_class: UTF8Type},
{column_name: email, validation_class: UTF8Type}];
Я попытался добавить строку в этот супер столбец, выполнив:
(вход)[default@testspace] set authors[1]['1']['url'] = 'www.henry.com';
(выход) [default@testspace] null
что является ошибкой ^
Я тоже попробую это:
[default@testspace] set authors['henry']['url']['1'] = 'www.henry.com';
и получить:
org.apache.cassandra.db.marshal.MarshalException: cannot parse 'henry' as hex bytes
Каков правильный синтаксис для манипулирования SuperColumns в Cassandra-Cli? Можете ли вы привести пример для установки / получения значений с использованием суперколонки в cassandra-cli?
Спасибо
2 ответа
Вам нужно добавить
column_type = 'Super' and key_validation_class = UTF8Type
к вашему определению семейства столбцов.
Вы не можете создавать вторичные индексы для вложенных столбцов супер-столбца. Таким образом, использование супер-столбцов лучше всего подходит для случаев, когда количество подколонок является относительно небольшим.