web-dev-qa-db-fra.com

Importer et exporter le schéma dans cassandra

Comment importer et exporter un schéma depuis Cassandra ou Cassandra cqlsh Prompt?

33
vpggopal

Pour exporter le schéma d'espace de clés:

cqlsh -e "DESC KEYSPACE user" > user_schema.cql

Pour exporter l'intégralité du schéma de base de données:

cqlsh -e "DESC SCHEMA" > db_schema.cql

Pour importer le schéma, ouvrez le terminal à l'emplacement 'user_schema.cql' ('db_schema.cql') (ou vous pouvez spécifier le chemin complet) et ouvrez le shell cqlsh. Utilisez ensuite la commande suivante pour importer le schéma d'espace de clés:

source 'user_schema.cql'

Pour importer un schéma de base de données complet:

source 'db_schema.cql'
57

Si vous utilisez cassandra-cli, vous pouvez utiliser le 'show schema;' pour vider tout le schéma. Vous pouvez restreindre à un espace de clés spécifique en exécutant 'use keyspace;' première.

Vous pouvez stocker la sortie dans un fichier, puis l'importer avec 'cassandra-cli -f filename'.

Si vous utilisez cqlsh, vous pouvez utiliser la commande 'describe schema'. Vous pouvez restreindre à un espace de clés avec "décrire l'espace de clés espace de clés".

Vous pouvez l'enregistrer dans un fichier puis l'importer avec 'cqlsh -f filename'.

12
Richard

Pour quelqu'un qui vient à l'avenir, juste pour obtenir ddl pour le schéma/espace de clés avec "myschema" dans le serveur "CassandraHost".

echo -e "use myschema;\nDESCRIBE KEYSPACE;\n" | cqlsh  CassandraHost > mySchema.cdl

et vous pouvez utiliser ce qui suit pour importer uniquement DDL (sans données):

cqlsh  CassandraNEWhost -f mySchema.cdl
10
dillip pattnaik

Tout directement depuis la ligne de commande. Pas besoin d'aller dans cqlsh.

Importer le schéma (fichier .cql):

$ cqlsh -e "SOURCE '/path/to/schema.cql'"

Exporter l'espace clé:

$ cqlsh -e "DESCRIBE KEYSPACE somekeyspace" > /path/to/somekeyspace.cql

Exporter le schéma de la base de données:

$ cqlsh -e "DESCRIBE SCHEMA" > /path/to/schema.cql
9
rouble