Я пытаюсь создать широкий столбец таблицы, столбцы 20000выбрать конкретные значения из карты
Первоначально я думал, я хотел бы использовать:
CREATE TABLE details (
key TEXT,
detail map<TEXT, TEXT>
PRIMARY KEY (KEY)
);
Вставка в эту таблицу работает отлично
UPDATE details SET detail = detail + { 'col1': '12'} where key='123' ;
UPDATE details SET detail = detail + { 'col20000': 'ABCD'} where key='123' ;
Однако, я хотел бы читать отдельные детали:
select detail[col1] where key='123'
при выполнении этого запроса я получаю следующее сообщение об ошибке:
no viable alternative at input '['
Будет ли это работать, или мне нужен другой подход?
Спасибо, это подход, который я принял. – e90jimmy
Все еще не вижу его 3.9, интересно, в чем причина, не смог его найти. AFAIK, они хранятся как сами столбцы. «Частичные чтения столбцов сбора данных невозможны на CQL. Единственный способ получить данные из коллекции - это прочитать коллекцию целиком, поэтому нецелесообразно хранить большие неограниченные наборы данных в столбце коллекции« https://github.com/apache/cassandra/blob/cassandra-3.6/CHANGES.txt – kisna