CQLSH kilde

CQLSH kilde
Hvis du har brukt MySQL og relaterte databaser, er du sannsynligvis kjent med SQL Batch -modus.

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:

  • Den første kalles "Batch -utførelse", som skiller seg fra SQL Batch -modus.
  • Den andre er kildekommandoen, som ligner på SQL Batch -modus. Denne kommandoen lar deg definere et sett med CQL -instruksjoner i en fil og laste dem inn på serveren.

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.