Denne modusen lar deg spesifisere et sett med SQL -instruksjoner i en tekstfil. Du kan deretter laste inn filen på serveren og la instruksjonene som er definert i filen utføres i rekkefølge.
Batch -modus er veldig nyttig, spesielt når du automatiserer en bestemt SQL -oppgave på flere servere.
I Apache Cassandra har du to metoder for å utføre flere instruksjoner samtidig:
Kommandoene i filen vil bli utført, og den tilsvarende utgangen vises i standardutgangen.
La oss utforske hvordan vi kan bruke denne funksjonen.
Kommandosyntaks
Følgende viser kommandosyntax:
Kilde 'filnavn'
Kommandoen godtar banen til filen du ønsker å utføre som parameter. Husk at filstien må være en relativ bane. Absolutte stier støttes ikke. Det er også godt å omslutte filstien i anførselstegn.
Lag CQL -skript
Det første trinnet er å lage et skript som inneholder et sett med CQL -instruksjoner.
For illustrasjonsformål vil vi lage et nøkkelpace, bytte til det opprettede nøkkelpace, lage en tabell og sette inn prøvedata. Vi vil også aktivere CQLSH Expand -modus og velge alle radene fra den opprettede tabellen.
Begynn med å lage en CQL -fil:
$ berøring ~/dokumenter/skript.CQL
Deretter kan vi legge til instruksjonene vi ønsker å utføre i filen, som vist nedenfor:
Slipp KeySpace hvis eksisterer null_dag;
Lag KeySpace Zero_Day
med replikasjon =
'klasse': 'enklest strategi',
'Replication_factor': 1
;
Bruk null_dag;
Lag tabellposter (
id int,
cve_number tekst,
rapport_dato dato,
berørt_vendor -tekst,
Alvorlighetsgraden flyter,
Primærnøkkel (ID)
);
Begynn batch
Sett inn poster (id, cve_number, rapport_date, berørt_vendor, alvorlighetsgrad)
Verdier (1, 'CVE-2021-33852', '2022-12-02', 'WordPress', 6.0);
Sett inn poster (id, cve_number, rapport_date, berørt_vendor, alvorlighetsgrad)
Verdier (2, 'CVE-2020-14723', '2020-01-11', 'Oracle', 8.2);
Sett inn poster (id, cve_number, rapport_date, berørt_vendor, alvorlighetsgrad)
Verdier (3, 'CVE-2019-19306', '2019-10-14', 'Zoho', 5.4);
Sett inn poster (id, cve_number, rapport_date, berørt_vendor, alvorlighetsgrad)
Verdier (4, 'CVE-2021-33850', '2021-10-18', 'Microsoft', 5.0);
Sett inn poster (id, cve_number, rapport_date, berørt_vendor, alvorlighetsgrad)
Verdier (5, 'CVE-2020-24600', '2020-07-01', 'Shilpi', 8.6);
bruke batch;
utvide på;
Velg * fra Zero_Day.poster;
Lagre og lukk filen.
Utfør skriptet
For å utføre skriptet, logg inn på serveren:
$ cqlsh -u cassandra -p cassandra
Til slutt, bruk kildekommandoen til å utføre skriptet som:
cassandra@cqlsh> kilde '~/dokumenter/skript.cql ';
Utførelse av den forrige kommandoen vil laste instruksjonene i skriptfilen og returnere utdataene (der tilgjengelig) til skallet.
Et eksempelutgang vises nedenfor:
I skriptet vårt returnerer bare utvidede og utvalgte kommandoer en utdata, som vist ovenfor.
Konklusjon
I dette innlegget lærte vi hvordan vi bruker kildekommandoen i Cassandra. Kildekommandoen gjør det mulig for oss å definere CQL -instruksjoner i en fil og utføre dem sekvensielt i CQL -skallet.