Картография Кассандры Супер Колонны
Я думаю, что все, кто играл с Кассандрой, уже читали эту статью.
Я пытаюсь создать свою схему на 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 ответа
Я думаю, что вы переключили, к чему применяются comptor_type и subcomparator_type. В семействах суперколонок тип tor_свойта применяется к именам суперколонок, а подкомбаратор_тип применяется к именам подколонок.
Переключите типы компаратора, и ваш первый пример должен работать.
set posts[1][timeuuid()][utf8('body')] = 'Hello I am Goku!';
Правильный ответ таков.
:п
Я старался:
set posts[1][timeuuid()]['body'] = 'Hello I am Goku!';
это сработало...
Вы пробовали цитировать 'body'
?
set posts['post1'][timeuuid()]['body'] = ‘Hello I am Goku!’;