Sto cercando di creare una tabella colonna larga, 20.000 colonneselezionare il valore specifico da mappa
Inizialmente stavo pensando che avrei usato:
CREATE TABLE details (
key TEXT,
detail map<TEXT, TEXT>
PRIMARY KEY (KEY)
);
Inserimento in questa tabella funziona bene
UPDATE details SET detail = detail + { 'col1': '12'} where key='123' ;
UPDATE details SET detail = detail + { 'col20000': 'ABCD'} where key='123' ;
Tuttavia, vorrei leggere un singolo dettaglio:
select detail[col1] where key='123'
durante l'esecuzione di questa query ottengo il seguente errore:
no viable alternative at input '['
Sarà questo lavoro, o ho bisogno di un approccio diverso?
Grazie, questo è l'approccio che ho preso. – e90jimmy
Ancora non lo vedo 3.9, chiedo quale sia la ragione, non riuscendo a trovarlo. AFAIK, sono memorizzati come colonne stesse. "Le letture parziali delle colonne di raccolta non sono possibili in CQL. L'unico modo per recuperare i dati da una raccolta è leggere la raccolta nella sua interezza, per questo motivo è generalmente poco pratico archiviare dataset grandi e illimitati all'interno di una colonna di raccolta" https://github.com/apache/cassandra/blob/cassandra-3.6/CHANGES.txt – kisna