Source CQLSH

Source CQLSH
Si vous avez utilisé MySQL et des bases de données connexes, vous connaissez probablement le mode Lot SQL.

Ce mode vous permet de spécifier un ensemble d'instructions SQL dans un fichier texte. Vous pouvez ensuite charger le fichier dans le serveur et autoriser les instructions définies dans le fichier à exécuter séquentiellement.

Le mode batch est très utile, surtout lors de l'automatisation d'une tâche SQL particulière sur plusieurs serveurs.

Dans Apache Cassandra, vous avez deux méthodes pour exécuter plusieurs instructions simultanément:

  • Le premier est appelé «exécution par lots», qui diffère du mode lot SQL.
  • Le second est la commande source, qui est similaire au mode lot SQL. Cette commande vous permet de définir un ensemble d'instructions CQL dans un fichier et de les charger dans le serveur.

Les commandes du fichier seront exécutées et la sortie correspondante sera affichée dans la sortie standard.

Explorons comment nous pouvons utiliser cette fonction.

Syntaxe de commande

Ce qui suit montre la syntaxe de commande:

Source «nom de fichier»

La commande accepte le chemin d'accès au fichier que vous souhaitez exécuter en tant que paramètre. Gardez à l'esprit que le chemin du fichier doit être un chemin relatif. Les chemins absolus ne sont pas pris en charge. Il est également bon de joindre le chemin du fichier en guillemets.

Créer un script CQL

La première étape consiste à créer un script contenant un ensemble d'instructions CQL.

À des fins d'illustration, nous créerons un espace de touche, passerons à l'espace de touche créé, créerons une table et insérer des données d'échantillons. Nous allons également activer le mode d'extension CQLSH et sélectionner toutes les lignes de la table créée.

Commencez par créer un fichier CQL:

$ touch ~ / documents / script.cql

Ensuite, nous pouvons ajouter les instructions que nous souhaitons exécuter dans le fichier, comme indiqué ci-dessous:

Drop keyspace si existe zéro_day;
Créer des espaces de clé zéro_day
avec réplication =
«Classe»: «Simplestrategy»,
'réplication_factor': 1
;
Utilisez zéro_day;
Créer des enregistrements de table (
id int,
Cve_number Texte,
Date de rapport_date,
texte affecté_vendor,
flotteur de gravité,
Clé primaire (ID)
));
commencer le lot
Insérer dans les enregistrements (id, cve_number, report_date, affecté_vendor, gravité)
Valeurs (1, «CVE-2021-33852», «2022-12-02», «WordPress», 6.0);
Insérer dans les enregistrements (id, cve_number, report_date, affecté_vendor, gravité)
Valeurs (2, «CVE-2020-14723», «2020-01-11», «Oracle», 8.2);
Insérer dans les enregistrements (id, cve_number, report_date, affecté_vendor, gravité)
Valeurs (3, «CVE-2019-19306», «2019-10-14», «Zoho», 5.4);
Insérer dans les enregistrements (id, cve_number, report_date, affecté_vendor, gravité)
Valeurs (4, «CVE-2021-33850», «2021-10-18», «Microsoft», 5.0);
Insérer dans les enregistrements (id, cve_number, report_date, affecté_vendor, gravité)
Valeurs (5, «CVE-2020-24600», «2020-07-01», «Shilpi», 8.6);
appliquer un lot;
développer;
Sélectionner * dans zéro_day.enregistrements;

Enregistrez et fermez le fichier.

Exécuter le script

Pour exécuter le script, connectez-vous au serveur:

$ CQLSH -U Cassandra -p Cassandra

Enfin, utilisez la commande source pour exécuter le script comme:

Cassandra @ CQLSH> Source '~ / Documents / Script.CQL ';

L'exécution de la commande précédente chargera les instructions dans le fichier de script et renvoie la sortie (le cas échéant) dans le shell.

Un exemple de sortie est illustré ci-dessous:

Dans notre script, seules les commandes Expand and Select renvoie une sortie, comme indiqué ci-dessus.

Conclusion

Dans cet article, nous avons appris à utiliser la commande source dans Cassandra. La commande source nous permet de définir les instructions CQL dans un fichier et de les exécuter séquentiellement dans le shell CQL.