Źródło CQLSH

Źródło CQLSH
Jeśli użyłeś MySQL i powiązanych baz danych, prawdopodobnie znasz tryb wsadowy SQL.

Ten tryb pozwala określić zestaw instrukcji SQL w pliku tekstowym. Następnie możesz załadować plik do serwera i zezwolić na sekwencyjne instrukcje zdefiniowane w pliku.

Tryb wsadowy jest bardzo przydatny, szczególnie przy automatyzacji określonego zadania SQL na wielu serwerach.

W Apache Cassandra masz dwie metody wykonywania wielu instrukcji jednocześnie:

  • Pierwszy nazywa się „wykonaniem partii”, który różni się od trybu wsadowego SQL.
  • Drugi to polecenie źródła, które jest podobne do trybu wsadowego SQL. To polecenie pozwala zdefiniować zestaw instrukcji CQL w pliku i załadowanie ich na serwer.

Polecenia w pliku zostaną wykonane, a odpowiednie wyjście zostanie wyświetlone w standardowym wyjściu.

Pozwól nam zbadać, w jaki sposób możemy użyć tej funkcji.

Składnia polecenia

Poniżej pokazuje składnię polecenia:

Źródło „nazwa pliku”

Polecenie akceptuje ścieżkę do pliku, który chcesz wykonać jako parametr. Pamiętaj, że ścieżka pliku musi być względną ścieżką. Bezwzględne ścieżki nie są obsługiwane. Dobrze jest również dołączyć ścieżkę pliku w cudzysłowie.

Utwórz skrypt CQL

Pierwszym krokiem jest utworzenie skryptu zawierającego zestaw instrukcji CQL.

Do celów ilustracyjnych utworzymy miejsce na klawisze, przejdziemy do utworzonej przestrzeni klawiszowej, utworzymy tabelę i wstawiamy przykładowe dane. Włączymy również tryb rozszerzania CQLSH i wybierzemy wszystkie wiersze z utworzonej tabeli.

Zacznij od utworzenia pliku CQL:

$ Touch ~/Documents/Script.CQL

Następnie możemy dodać instrukcje, które chcemy wykonać do pliku, jak pokazano poniżej:

Upuść Keyspace, jeśli istnieje zero_day;
Utwórz Keyspace Zero_day
Z replikacją =
„klasa”: „ProsteStrategy”,
„Replikacja_factor”: 1
;
Użyj zero_day;
Utwórz rekordy tabeli (
Id int,
Tekst cve_number,
Raport_Date Data,
Tekst dotknięty_vendor,
Ważność pływak,
Klucz podstawowy (id)
);
Rozpocznij partię
Wstaw do rekordów (id, cve_number, raport_date, dotknięty_wendor, nasilenie)
Wartości (1, „CVE-2021-33852”, „2022-12-02”, „WordPress”, 6.0);
Wstaw do rekordów (id, cve_number, raport_date, dotknięty_wendor, nasilenie)
Wartości (2, „CVE-2020-14723”, „2020-01-11”, „Oracle”, 8.2);
Wstaw do rekordów (id, cve_number, raport_date, dotknięty_wendor, nasilenie)
Wartości (3, „CVE-2019-19306”, „2019-10-14”, „Zoho”, 5.4);
Wstaw do rekordów (id, cve_number, raport_date, dotknięty_wendor, nasilenie)
Wartości (4, „CVE-2021-33850”, „2021-10-18”, „Microsoft”, 5.0);
Wstaw do rekordów (id, cve_number, raport_date, dotknięty_wendor, nasilenie)
Wartości (5, „CVE-2020-24600”, „2020-07-01”, „Shilpi”, 8.6);
Zastosuj partię;
Rozwiń dalej;
Wybierz * z Zero_day.dokumentacja;

Zapisz i zamknij plik.

Wykonaj skrypt

Aby wykonać skrypt, zaloguj się na serwerze:

$ cqlsh -u cassandra -p cassandra

Na koniec użyj polecenia źródłowego, aby wykonać skrypt jako:

cassandra@cqlsh> Źródło '~/dokumenty/skrypt.cql ';

Wykonanie poprzedniego polecenia załaduje instrukcje w pliku skryptu i zwróci dane wyjściowe (jeśli jest dostępne) do powłoki.

Przykładowe dane wyjściowe pokazano poniżej:

W naszym skrypcie tylko polecenia rozwój i wybierz zwraca dane wyjściowe, jak pokazano powyżej.

Wniosek

W tym poście nauczyliśmy się używać polecenia źródłowego w Cassandra. Polecenie źródłowe umożliwia nam zdefiniowanie instrukcji CQL w pliku i wykonanie ich sekwencyjnie w powładzie CQL.