Forse è una domanda stupida, ma non sono in grado di determinare le dimensioni di un tavolo in Cassandra.select count (*) viene eseguito in problemi di timeout in Cassandra
Questo è quello che ho provato:
select count(*) from articles;
Funziona benissimo se la tabella è piccola, ma una volta che si riempie, ho sempre incorrere in problemi di timeout:
cqlsh:
- OperationTimedOut: errors = {}, last_host = 127.0.0.1
DBeaver:
- Run 1: 225.000 (7477 ms)
- Run 2: 233.637 (8265 ms)
- Run 3: 216,595 (7269 ms)
suppongo che colpisce un certo timeout e abortisce. Il numero effettivo di voci nella tabella è probabilmente molto più alto.
Sto testando un'istanza Cassandra locale completamente inattiva. Non mi dispiacerebbe se deve eseguire una scansione completa della tabella e non risponde durante quel periodo.
C'è un modo per contare in modo affidabile il numero di voci in una tabella Cassandra?
Sto usando Cassandra 2.1.13.
Grazie! Sì, con un timeout aumentato, SELECT restituisce il numero previsto di elementi. –
L'aumento di entrambi i timeout non ha funzionato per me:/Ho impostato entrambi su 100 secondi, ma 'cqlsh' non è riuscito dopo 16 secondi con' ReadTimeout: Errore dal server: codice = 1200 [Il nodo coordinatore è scaduto in attesa delle risposte dei nodi di replica] '. L'utilizzo di "COPY TO' per [@ PhilippClaßen's answer] (https://stackoverflow.com/a/36745042/1727828) era l'unico modo per calcolare il conteggio delle righe. – mksios