Fuente de CQLSH

Fuente de CQLSH
Si ha utilizado MySQL y bases de datos relacionadas, probablemente esté familiarizado con el modo de lotes SQL.

Este modo le permite especificar un conjunto de instrucciones SQL dentro de un archivo de texto. Luego puede cargar el archivo en el servidor y permitir que las instrucciones definidas en el archivo se ejecuten secuencialmente.

El modo por lotes es muy útil, especialmente al automatizar una tarea SQL particular en múltiples servidores.

En Apache Cassandra, tiene dos métodos para ejecutar múltiples instrucciones simultáneamente:

  • El primero se llama "ejecución por lotes", que difiere del modo de lote SQL.
  • El segundo es el comando fuente, que es similar al modo de lotes SQL. Este comando le permite definir un conjunto de instrucciones CQL en un archivo y cargarlas en el servidor.

Se ejecutarán los comandos en el archivo, y la salida correspondiente se mostrará en la salida estándar.

Exploremos cómo podemos usar esta función.

Sintaxis de comando

Lo siguiente muestra la sintaxis del comando:

Fuente 'nombre de archivo'

El comando acepta la ruta al archivo que desea ejecutar como parámetro. Tenga en cuenta que la ruta del archivo debe ser una ruta relativa. Los caminos absolutos no son compatibles. También es bueno encerrar la ruta del archivo entre comillas.

Crear script CQL

El primer paso es crear un script que contenga un conjunto de instrucciones de CQL.

Para fines de ilustración, crearemos un espacio de tecla, cambiaremos al espacio de tecla creado, crearemos una tabla e insertaremos datos de muestra. También habilitaremos el modo de expansión CQLSH y seleccionaremos todas las filas de la tabla creada.

Comience por crear un archivo CQL:

$ touch ~/documentos/script.CQL

A continuación, podemos agregar las instrucciones que deseamos ejecutar al archivo, como se muestra a continuación:

Drop KeySpace si existe cero_day;
Crear keyspace cero_day
con replicación =
'Clase': 'Simplestrategy',
'replication_factor': 1
;
usar cero_day;
crear registros de tabla (
Yo dint,
Texto de CVE_Number,
Fecha de informes,
Texto de Vendor afectado,
gravedad de la gravedad,
Clave principal (ID)
);
comenzar por lote
Insertar en los registros (ID, CVE_Number, Report_Date, afectado_vendor, gravedad)
Valores (1, 'CVE-2021-33852', '2022-12-02', 'WordPress', 6.0);
Insertar en los registros (ID, CVE_Number, Report_Date, afectado_vendor, gravedad)
Valores (2, 'CVE-2020-14723', '2020-01-11', 'Oracle', 8.2);
Insertar en los registros (ID, CVE_Number, Report_Date, afectado_vendor, gravedad)
Valores (3, 'CVE-2019-19306', '2019-10-14', 'Zoho', 5.4);
Insertar en los registros (ID, CVE_Number, Report_Date, afectado_vendor, gravedad)
Valores (4, 'CVE-2021-33850', '2021-10-18', 'Microsoft', 5.0);
Insertar en los registros (ID, CVE_Number, Report_Date, afectado_vendor, gravedad)
Valores (5, 'CVE-2020-24600', '2020-07-01', 'Shilpi', 8.6);
aplicar lote;
ampliar sobre;
SELECCIONAR * DESDE CERO_DAY.registros;

Guarde y cierre el archivo.

Ejecutar el script

Para ejecutar el script, inicie sesión en el servidor:

$ cqlsh -u cassandra -p cassandra

Finalmente, use el comando de origen para ejecutar el script como:

cassandra@cqlsh> fuente '~/documentos/script.cql ';

Ejecución del comando anterior cargará las instrucciones en el archivo de script y devolverá la salida (donde esté disponible) al shell.

A continuación se muestra una salida de ejemplo:

En nuestro script, solo los comandos expandir y seleccionar devuelven una salida, como se muestra arriba.

Conclusión

En esta publicación, aprendimos a usar el comando de origen en Cassandra. El comando de origen nos permite definir las instrucciones de CQL en un archivo y ejecutarlas secuencialmente en el shell CQL.