Картография Кассандры Супер Колонны - PullRequest
9 голосов
/ 14 января 2011

Полагаю, все, кто играл с Cassandra, уже читали эту статью.

Я пытаюсь создать свою схему на CassandraCli, но у меня много проблем, может кто-нибудь подсказать мнеправильный путь?Я пытаюсь создать аналогичную структуру, такую ​​как семейство столбцов Комментариев, из статьи.

В терминале CassandraCli я набираю:

create column family posts with column_type = ‘Super’ and comparator = ‘AsciiType’ and subcomparator = TimeUUIDType;

Это работает нормально, нет никаких документов, говорящих мне, что еслиЯ добавляю атрибут column_metadata, который будет для супер столбцов, потому что мое семейство столбцов имеет тип super, я не могу найти, верно ли это так:

create column family posts with column_type = ‘Super’ and comparator = ‘AsciiType’ and subcomparator = ‘TimeUUIDType’ and column_metadata = [{column_name:'body'}];

Я пытаюсь создать то же самое, что исемейство столбцов комментариев статьи, но когда я пытаюсь заполнить

set posts['post1'][timeuuid()][body] = ‘Hello I am Goku!’;

, я получил:

Неверная строка UUID: тело

Я предполагаюТак как я выбрал субкомпаратор типа timeuuid, а тело - строка, оно должно быть timeuuid, поэтому КАК мои столбцы внутри суперстолбца, который является типом timeuuid, могут содержать столбцы с именами строковых типов при создании комментариев к статье?

Спасибо

Ответы [ 4 ]

5 голосов
/ 14 января 2011

Я думаю, что вы переключили, к чему применяются сопоставитель_тип и subcomparator_type.В семействах суперколонок типtor_свойта применяется к именам суперколонок, а тип_компонента применяется к именам подколонок.

Переключите типы компараторов, и ваш первый пример должен работать.

1 голос
/ 27 октября 2011

set posts[1][timeuuid()][utf8('body')] = 'Hello I am Goku!';

Правильный ответ должен быть следующим:

: p

0 голосов
/ 09 августа 2011

Я пытался:

set posts[1][timeuuid()]['body'] = 'Hello I am Goku!';

это сработало ...

0 голосов
/ 14 января 2011

Вы пробовали цитировать 'body'?

set posts['post1'][timeuuid()]['body'] = ‘Hello I am Goku!’;
...