Sorgente CQLSH

Sorgente CQLSH
Se hai usato MySQL e database correlati, probabilmente hai familiarità con la modalità batch SQL.

Questa modalità consente di specificare un set di istruzioni SQL all'interno di un file di testo. È quindi possibile caricare il file nel server e consentire l'esecuzione delle istruzioni definite nel file.

La modalità batch è molto utile, soprattutto quando si automatizza una particolare attività SQL su più server.

In Apache Cassandra, hai due metodi per eseguire più istruzioni contemporaneamente:

  • Il primo si chiama "Esecuzione batch", che differisce dalla modalità batch SQL.
  • Il secondo è il comando di origine, che è simile alla modalità batch SQL. Questo comando consente di definire un set di istruzioni CQL in un file e caricarle nel server.

Verranno eseguiti i comandi nel file e l'uscita corrispondente verrà visualizzata nell'output standard.

Esploriamo come possiamo usare questa funzione.

Sintassi del comando

Di seguito mostra la sintassi del comando:

Fonte "nome file"

Il comando accetta il percorso del file che si desidera eseguire come parametro. Tieni presente che il percorso del file deve essere un percorso relativo. I percorsi assoluti non sono supportati. È anche bene allegare il percorso del file tra virgolette.

Crea script CQL

Il primo passo è creare uno script contenente un set di istruzioni CQL.

A fini illustrativi, creeremo uno spazio di tastiera, passeremo allo spazio di tasti creato, creeremo una tabella e inserire i dati di esempio. Abiliteremo anche la modalità di espansione CQLSH e selezioneremo tutte le righe dalla tabella creata.

Inizia creando un file CQL:

$ touch ~/documenti/script.CQL

Successivamente, possiamo aggiungere le istruzioni che desideriamo eseguire nel file, come mostrato di seguito:

Drop Keyspace Se esiste zero_day;
Crea Keyspace Zero_Day
con replication =
'Class': 'SimpleStrategy',
'Replication_Factor': 1
;
Usa zero_day;
Crea record di tabelle (
id int,
Testo CVE_NUMBER,
Data report_date,
Testo interessato_vendor,
Gravità galleggia,
Chiave primaria (ID)
);
Inizia il lotto
INSERT IN RECORD (ID, CVE_NUMBER, report_date, interessato_vendor, gravità)
Valori (1, 'CVE-2021-33852', '2022-12-02', 'WordPress', 6.0);
INSERT IN RECORD (ID, CVE_NUMBER, report_date, interessato_vendor, gravità)
Valori (2, "CVE-2020-14723", "2020-01-11", "Oracle", 8.2);
INSERT IN RECORD (ID, CVE_NUMBER, report_date, interessato_vendor, gravità)
Valori (3, "CVE-2019-19306", "2019-10-14", "Zoho", 5.4);
INSERT IN RECORD (ID, CVE_NUMBER, report_date, interessato_vendor, gravità)
Valori (4, "CVE-2021-33850", "2021-10-18", "Microsoft", 5.0);
INSERT IN RECORD (ID, CVE_NUMBER, report_date, interessato_vendor, gravità)
Valori (5, "CVE-2020-24600", "2020-07-01", "Shilpi", 8.6);
applicare batch;
espandere;
Seleziona * da zero_day.registri;

Salva e chiudi il file.

Eseguire lo script

Per eseguire lo script, accedi al server:

$ cqlsh -u cassandra -p cassandra

Infine, usa il comando di origine per eseguire lo script come:

cassandra@cqlsh> sorgente '~/documenti/script.cql ';

L'esecuzione del comando precedente caricherà le istruzioni nel file di script e restituirà l'output (ove disponibile) sulla shell.

Un esempio di esempio è mostrato di seguito:

Nel nostro script, solo i comandi espandi e selezionati restituiscono un output, come mostrato sopra.

Conclusione

In questo post, abbiamo imparato a usare il comando di origine in Cassandra. Il comando di origine ci consente di definire le istruzioni CQL in un file ed eseguirle in sequenza nella shell CQL.