Cassandra afkappen

Cassandra Afkappen



In dit artikel leert u hoe u de opdracht Apache Cassandra TRUNCATE gebruikt. Met deze opdracht kunt u alle gegevens uit een tabel verwijderen zonder de tabel of het bijbehorende schema te verwijderen.

In eenvoudige bewoordingen stelt het TRUNCATE-commando u in staat om de gegevens die in een tabel zijn opgeslagen opnieuw in te stellen, zodat u nieuwe gegevens kunt herstellen of invoegen.







Cassandra Truncate-opdrachtsyntaxis

De syntaxis van de TRUNCATE-opdracht is zoals weergegeven:



TRUNCATE [TABEL] [keyspace.table_name]

U kunt het TABLE-sleutelwoord in de bovenstaande syntaxis weglaten. De opdracht voert een vergelijkbare actie uit.



Houd er rekening mee dat het TRUNCATE-commando het JMX-commando verzendt naar alle knooppunten in het cluster dat de gegevens van het doel bevat. Hierdoor kunnen de knooppunten synchroniseren en op de hoogte blijven van de recente gegevenswijzigingen. Als een van de knooppunten in het cluster niet beschikbaar is, mislukt de opdracht en wordt een fout geretourneerd.





Voorbeeldtabel en gegevens maken

Ter illustratie zullen we een voorbeeldsleutelruimte en -tabel maken. De opdrachten zijn zoals weergegeven in de onderstaande fragmenten:

cqlsh> keyspace maken height_info
... met replicatie = {
... 'klasse': 'Eenvoudige Strategie',
... 'replicatiefactor': 1};
cqlsh> GEBRUIK height_info;
cqlsh:height_info> CREATE TABLE-ontvangers(
... uw hand,
... gebruikersnaam tekst,
... hoogte int,
... PRIMAIRE SLEUTEL (id, hoogte));

We kunnen dan voorbeeldgegevens invoegen zoals weergegeven in de onderstaande opdrachten:



cqlsh:height_info> INSERT INTO ontvangers (id, gebruikersnaam, hoogte) waarden (0, 'gebruiker1', 210);
cqlsh:height_info> INSERT INTO ontvangers (id, gebruikersnaam, hoogte) waarden (1, 'user2', 115);
cqlsh:height_info> INSERT INTO ontvangers (id, gebruikersnaam, hoogte) waarden (2, 'user3', 202);
cqlsh:height_info> INSERT INTO ontvangers (id, gebruikersnaam, hoogte) waarden (3, 'user4', 212);
cqlsh:height_info> INSERT INTO ontvangers (id, gebruikersnaam, hoogte) waarden (4, 'user5', 216);

Voorbeeld Truncatiebewerking

De gegevens die vóór het afkappen in de tabel zijn opgeslagen, zijn als volgt:

SELECTEER * VAN ontvangers;

We kunnen de tabel afkappen zoals weergegeven:

cqlsh:height_info> TRUNCATE TABLE height_info.recipients;

Ten slotte kunnen we bevestigen dat de gegevens uit de tabel zijn verwijderd als:

cqlsh:height_info> SELECT * VAN ontvangers;

U zult merken dat de tabel nog steeds bestaat, inclusief alle schemadefinities. De gegevens uit de tabel zijn echter verwijderd en er blijft een lege tabel achter.

Houd er rekening mee dat de TRUNCATE-bewerking onomkeerbaar is. Wees voorzichtig met het gebruik en mogelijk gegevensverlies.

Conclusie

In dit bericht heb je geleerd hoe je alle gegevens uit een tabel kunt verwijderen met behoud van het tabelschema met behulp van de opdracht CQL TRUNCATE.