Cassandra Truncate

Cassandra Truncate



În acest articol, veți învăța cum să utilizați comanda Apache Cassandra TRUNCATE. Această comandă vă permite să eliminați toate datele dintr-un tabel fără a șterge tabelul sau schema acestuia.

În termeni simpli, comanda TRUNCATE vă permite să resetați datele stocate într-un tabel permițându-vă să restaurați sau să inserați date noi.







Sintaxa comenzii Cassandra Truncate

Sintaxa comenzii TRUNCATE este așa cum se arată:



TRUNCATE [TABLE] [keyspace.table_name]

Puteți omite cuvântul cheie TABLE din sintaxa de mai sus. Comanda va efectua o acțiune similară.



Rețineți că comanda TRUNCATE trimite comanda JMX către toate nodurile din cluster care conține datele țintei. Acest lucru permite nodurilor să se sincronizeze și să rămână la curent cu modificările recente ale datelor. Dacă oricare dintre nodurile din cluster este în jos, comanda va eșua și va returna o eroare.





Crearea unui tabel de eșantion și a datelor

În scopuri ilustrative, vom crea un eșantion de spațiu de taste și tabel. Comenzile sunt așa cum se arată în fragmentele de mai jos:

cqlsh> create keyspace height_info
... cu replicare = {
... 'class': 'SimpleStrategy',
... 'factor_replicare': 1};
cqlsh> USE info_înălțime;
cqlsh:height_info> CREATE TABLE destinatari(
... mână ta,
... text nume de utilizator,
... înălțime int,
... CHEIE PRIMARĂ(id, înălțime));

Putem apoi introduce date eșantion, așa cum se arată în comenzile de mai jos:



cqlsh:height_info> INSERT INTO destinatari (id, nume de utilizator, înălțime) valori (0, 'utilizator1', 210);
cqlsh:height_info> INSERT INTO destinatari (id, nume de utilizator, înălțime) valori (1, 'utilizator2', 115);
cqlsh:height_info> INSERT INTO destinatari (id, nume de utilizator, înălțime) valori (2, „utilizator3”, 202);
cqlsh:height_info> INSERT INTO destinatari (id, nume de utilizator, înălțime) valori (3, 'user4', 212);
cqlsh:height_info> INSERT INTO destinatari (id, nume de utilizator, înălțime) valori (4, 'user5', 216);

Exemplu de operație de trunchiere

Datele stocate în tabel înainte de trunchiere sunt după cum se arată:

SELECT * FROM destinatari;

Putem trunchia tabelul după cum se arată:

cqlsh:height_info> TRUNCATE TABLE height_info.recipients;

În cele din urmă, putem confirma că datele sunt eliminate din tabel ca:

cqlsh:height_info> SELECT * FROM destinatari;

Veți observa că tabelul încă există, incluzând toate definițiile schemei. Cu toate acestea, datele din tabel au fost eliminate, lăsând un tabel gol.

Rețineți că operațiunea TRUNCATE este ireversibilă. Fiți atenți la utilizarea acestuia și la potențiala pierdere de date.

Concluzie

În această postare, ați învățat cum să eliminați toate datele dintr-un tabel, păstrând în același timp schema tabelului folosind comanda CQL TRUNCATE.