Cassandra Truncate

Cassandra Truncate



I denne artikel lærer du, hvordan du bruger kommandoen Apache Cassandra TRUNCATE. Denne kommando giver dig mulighed for at fjerne alle data fra en tabel uden at slette tabellen eller dens skema.

Kort sagt giver TRUNCATE-kommandoen dig mulighed for at nulstille de data, der er gemt i en tabel, så du kan gendanne eller indsætte nye data.







Cassandra Truncate Command Syntax

TRUNCATE kommandosyntaksen er som vist:



TRUNCATE [TABLE] [keyspace.table_name]

Du kan udelade nøgleordet TABLE i syntaksen ovenfor. Kommandoen udfører en lignende handling.



Husk, at TRUNCATE-kommandoen sender JMX-kommandoen til alle noderne i klyngen, der indeholder målets data. Dette gør det muligt for noderne at synkronisere og holde sig ajour med de seneste dataændringer. Hvis en af ​​noderne i klyngen er nede, vil kommandoen mislykkes og returnere en fejl.





Oprettelse af prøvetabel og data

Til illustrationsformål vil vi oprette et eksempel på et nøglerum og en tabel. Kommandoerne er som vist i uddragene nedenfor:

cqlsh> create keyspace height_info
... med replikering = {
... 'class': 'SimpleStrategy',
... 'replikeringsfaktor': 1};
cqlsh> BRUG højde_info;
cqlsh:height_info> OPRET TABEL-modtagere(
... din hånd,
... brugernavn tekst,
... højde int,
... PRIMÆR NØGLE(id, højde));

Vi kan derefter indsætte eksempeldata som vist i kommandoerne nedenfor:



cqlsh:height_info> INSERT INTO recipients(id, username, height) værdier (0, 'bruger1', 210);
cqlsh:height_info> INSERT INTO recipients(id, username, height) værdier (1, 'bruger2', 115);
cqlsh:height_info> INSERT INTO recipients(id, username, height) værdier (2, 'bruger3', 202);
cqlsh:height_info> INSERT INTO recipients(id, username, height) værdier (3, 'bruger4', 212);
cqlsh:height_info> INSERT INTO recipients(id, username, height) værdier (4, 'bruger5', 216);

Eksempel på trunkeringsoperation

Dataene gemt i tabellen før trunkering er som vist:

VÆLG * FRA modtagere;

Vi kan afkorte tabellen som vist:

cqlsh:height_info> TRUNCATE TABLE height_info.recipients;

Endelig kan vi bekræfte, at dataene er fjernet fra tabellen som:

cqlsh:height_info> VÆLG * FRA modtagere;

Du vil bemærke, at tabellen stadig eksisterer inklusive alle skemadefinitionerne. Dataene fra tabellen er dog blevet fjernet og efterlader en tom tabel.

Husk, at TRUNCATE-operationen er irreversibel. Vær forsigtig med brugen og potentielt datatab.

Konklusion

I dette indlæg lærte du, hvordan du fjerner alle data fra en tabel, mens du bevarer tabelskemaet ved hjælp af CQL TRUNCATE-kommandoen.