Набор Супер Колонна Семья в Кассандра Кли - PullRequest
3 голосов
/ 26 июля 2011

Я использую 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 ]

6 голосов
/ 27 июля 2011

Вам необходимо добавить

column_type = 'Super' and key_validation_class = UTF8Type

к определению семейства столбцов.

0 голосов
/ 22 октября 2012

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

...