CQLSH -Quelle

CQLSH -Quelle
Wenn Sie MySQL und verwandte Datenbanken verwendet haben, sind Sie wahrscheinlich mit dem SQL -Batch -Modus vertraut.

In diesem Modus können Sie einen Satz von SQL -Anweisungen in einer Textdatei angeben. Sie können die Datei dann in den Server laden und zulassen, dass die in der Datei definierten Anweisungen nacheinander ausgeführt werden.

Der Stapelmodus ist sehr nützlich, insbesondere bei der Automatisierung einer bestimmten SQL -Aufgabe auf mehreren Servern.

In Apache Cassandra haben Sie zwei Methoden, um mehrere Anweisungen gleichzeitig auszuführen:

  • Die erste wird als "Batch Execution" bezeichnet, die sich vom SQL -Batch -Modus unterscheidet.
  • Der zweite ist der Quellbefehl, der dem SQL -Stapelmodus ähnelt. Mit diesem Befehl können Sie eine Reihe von CQL -Anweisungen in einer Datei definieren und in den Server laden.

Die Befehle in der Datei werden ausgeführt und die entsprechende Ausgabe wird in der Standardausgabe angezeigt.

Lassen Sie uns untersuchen, wie wir diese Funktion verwenden können.

Befehlssyntax

Das Folgende zeigt die Befehlssyntax:

Quelle 'Dateiname'

Der Befehl akzeptiert den Pfad zur Datei, die Sie als Parameter ausführen möchten. Denken Sie daran, dass der Dateipfad ein relativer Weg sein muss. Absolute Wege werden nicht unterstützt. Es ist auch gut, den Dateipfad in Anführungszeichen einzuschließen.

Erstellen Sie CQL -Skript

Der erste Schritt besteht darin, ein Skript mit einer Reihe von CQL -Anweisungen zu erstellen.

Zu Illustrationszwecken erstellen wir einen Schlüsselraum, wechseln in den erstellten Schlüsselraum, erstellen eine Tabelle und fügen Sie Beispieldaten ein. Wir aktivieren auch den CQLSH -Erweiterungsmodus und wählen alle Zeilen aus der erstellten Tabelle aus.

Erstellen Sie zunächst eine CQL -Datei:

$ touch ~/dokument/skript.CQL

Als nächstes können wir die Anweisungen hinzufügen, die wir in die Datei ausführen möchten, wie unten gezeigt:

Tropfen Sie den Keyspace ab, wenn existiert Zero_Day;
Erstellen Sie Schlüsselspace Zero_Day
mit replication =
'Klasse': 'SimpleStrategy' ',
'replication_factor': 1
;
Verwenden Sie Zero_Day;
Erstellen von Tabellenaufzeichnungen (
Id int,
CVE_Number Text,
report_date Datum,
betroffen_vendor text,
Schweregrad schweben,
Primärschlüssel (ID)
);
Batch beginnen
Einfügen in Datensätze (ID, CVE_Number, Report_date, betroffener_vendor, Schweregrad)
Werte (1, 'CVE-2021-33852', '2022-12-02', 'WordPress', 6.0);
Einfügen in Datensätze (ID, CVE_Number, Report_date, betroffener_vendor, Schweregrad)
Werte (2, 'CVE-2020-14723', '2020-01-11', 'Oracle', 8.2);
Einfügen in Datensätze (ID, CVE_Number, Report_date, betroffener_vendor, Schweregrad)
Werte (3, 'CVE-2019-19306', '2019-10-14', 'Zoho', 5, 5.4);
Einfügen in Datensätze (ID, CVE_Number, Report_date, betroffener_vendor, Schweregrad)
Werte (4, 'CVE-2021-33850', '2021-10-18', 'Microsoft', 5, 5.0);
Einfügen in Datensätze (ID, CVE_Number, Report_date, betroffener_vendor, Schweregrad)
Werte (5, 'CVE-2020-24600', '2020-07-01', 'Shilpi', 8.6);
Batch auftragen;
erweitern;
Wählen Sie * von Zero_Day aus.Aufzeichnungen;

Speichern und schließen Sie die Datei.

Führen Sie das Skript aus

Um das Skript auszuführen, melden Sie sich beim Server an:

$ cqlsh -u cassandra -p cassandra

Verwenden Sie schließlich den Befehl "Quell", um das Skript als:

Cassandra@CQLSH> Source '~/Dokumente/Skript.CQL ';

Wenn Sie den vorherigen Befehl ausführen.

Eine Beispielausgabe ist unten dargestellt:

In unserem Skript gibt nur die Befehle aus Erweiterung und Auswahl eine Ausgabe zurück, wie oben gezeigt.

Abschluss

In diesem Beitrag haben wir gelernt, wie man den Quellbefehl in Cassandra verwendet. Mit dem Befehl "Quelle" können wir CQL -Anweisungen in einer Datei definieren und nacheinander in der CQL -Shell ausführen.