W tym artykule dowiesz się, jak korzystać z polecenia Apache Cassandra OBCIĄĆ. To polecenie umożliwia usunięcie wszystkich danych z tabeli bez usuwania tabeli lub jej schematu.
Mówiąc prościej, polecenie TRUNCATE pozwala zresetować dane przechowywane w tabeli, umożliwiając przywrócenie lub wstawienie nowych danych.
Cassandra obcina składnię polecenia
Składnia polecenia TRUNCATE jest następująca:
OBCIĄŻENIE [TABELA] [przestrzeń kluczy.nazwa_tabeli]
Możesz pominąć słowo kluczowe TABLE w powyższej składni. Polecenie wykona podobną akcję.
Należy pamiętać, że komenda TRUNCATE wysyła komendę JMX do wszystkich węzłów w klastrze zawierającym dane celu. Dzięki temu węzły mogą synchronizować się i być na bieżąco z najnowszymi zmianami danych. Jeśli którykolwiek z węzłów w klastrze nie działa, polecenie zakończy się niepowodzeniem i zwróci błąd.
Tworzenie przykładowej tabeli i danych
W celach ilustracyjnych stworzymy przykładową przestrzeń kluczy i tabelę. Polecenia są takie, jak pokazano w poniższych fragmentach:
cqlsh> utwórz przestrzeń_kluczy wysokość_informacji... z replikacją = {
... 'klasa': 'SimpleStrategy',
... 'współczynnik_replikacji': 1};
cqlsh> USE wysokość_informacji;
cqlsh:height_info> UTWÓRZ odbiorców TABELI(
... Twoja ręka,
... tekst nazwy użytkownika,
... wysokość int,
... KLUCZ PODSTAWOWY(id, wysokość));
Następnie możemy wstawić przykładowe dane, jak pokazano w poniższych poleceniach:
cqlsh:height_info> INSERT INTO audiences(id, username, height) wartości (0, 'user1', 210);
cqlsh:height_info> WSTAWIĆ wartości odbiorców (id, nazwa użytkownika, wysokość) (1, 'user2', 115);
cqlsh:height_info> WSTAWIĆ wartości odbiorców (id, nazwa użytkownika, wysokość) (2, 'użytkownik3', 202);
cqlsh:height_info> WSTAWIĆ wartości odbiorców (id, nazwa użytkownika, wysokość) (3, 'user4', 212);
cqlsh:height_info> WSTAWIĆ wartości odbiorców (id, nazwa użytkownika, wysokość) (4, 'user5', 216);
Przykładowa operacja obcinania
Dane przechowywane w tabeli przed obcięciem są następujące:
WYBIERZ * Z odbiorców;
Możemy skrócić tabelę, jak pokazano:
cqlsh:height_info> OBCIĄĆ TABELĘ height_info.recipients;Na koniec możemy potwierdzić usunięcie danych z tabeli jako:
cqlsh:height_info> WYBIERZ * Z odbiorców;
Zauważysz, że tabela nadal istnieje, zawierając wszystkie definicje schematu. Jednak dane z tabeli zostały usunięte, pozostawiając pustą tabelę.
Pamiętaj, że operacja TRUNCATE jest nieodwracalna. Zachowaj ostrożność w jego użytkowaniu i potencjalnej utracie danych.
Wniosek
W tym poście dowiedziałeś się, jak usunąć wszystkie dane z tabeli, zachowując schemat tabeli za pomocą polecenia CQL TRUNCATE.