Voglio interrogare il filtraggio dei dati con chiavi composite diverse da Row Key in CQL3. Queste sono le mie domande:Query utilizzando chiavi composite diverse da Row Key in Cassandra
CREATE TABLE grades (id int,
date timestamp,
subject text,
status text,
PRIMARY KEY (id, subject, status, date)
);
Quando provo e accedere ai dati,
SELECT * FROM grades where id = 1098; //works fine
SELECT * FROM grades where subject = 'English' ALLOW FILTERING; //works fine
SELECT * FROM grades where status = 'Active' ALLOW FILTERING; //gives an error
Bad Request: PRIMARY KEY stato parte non può essere limitato (precedente parte soggetto o non è limitato o da un non-EQ relazione)
semplicemente sperimentare, ho SHUF fuggi le chiavi per mantenere "id" come sempre la mia Primary Row Key. Sono sempre in grado di eseguire query utilizzando la chiave della riga principale o la seconda chiave, considerando l'esempio precedente, se scambio gli oggetti e lo stato nell'elenco delle chiavi primarie, posso quindi eseguire una query con lo stato ma ottengo un errore simile se provo a farlo soggetto o dal tempo.
Sto facendo qualcosa di sbagliato? Non posso interrogare i dati utilizzando qualsiasi altra chiave composita in CQL3? Sto usando Cassandra 1.2.6 e CQL3.
bella spiegazione! –
Capito! Grazie, per me ha molto più senso ora. Immagino che continuerò a ripetere le mie domande e vedrò come voglio strutturarle poiché non sempre ho bisogno di limitare l'argomento per poter ottenere lo stato. – user988544
Mi ha aiutato molto! Grazie – kn0x