Как импортировать и экспортировать схему из приглашения Cassandra или Cassandra cqlsh?
Схема импорта и экспорта в cassandra
Ответ 1
Чтобы экспортировать схему ключей ключей:
cqlsh -e "DESC KEYSPACE user" > user_schema.cql
Чтобы экспортировать всю схему базы данных:
cqlsh -e "DESC SCHEMA" > db_schema.cql
Чтобы импортировать открытый терминал схемы в поле 'user_schema.cql' ('db_schema.cql') (или вы можете указать полный путь) и открыть оболочку cqlsh. Затем используйте следующую команду для импорта схемы ключей ключей:
source 'user_schema.cql'
Чтобы импортировать полную схему базы данных:
source 'db_schema.cql'
Ответ 2
Если вы используете cassandra-cli, вы можете использовать "схему показа"; чтобы выгрузить всю схему. Вы можете ограничить определенное пространство ключей, запустив 'use keyspace;' первый.
Вы можете сохранить вывод в файле, а затем импортировать его с помощью 'cassandra-cli -f filename'.
Если вы используете cqlsh, вы можете использовать команду "описать схему". Вы можете ограничить пространство клавиш с помощью "Описать пространство ключей ключей".
Вы можете сохранить это в файл, а затем импортировать с помощью 'cqlsh -f filename'.
Ответ 3
Для тех, кто приходит в будущем, просто для получения ddl для схемы/ключей с помощью "myschema" на сервере "CassandraHost".
echo -e "use myschema;\nDESCRIBE KEYSPACE;\n" | cqlsh CassandraHost > mySchema.cdl
и вы можете использовать следующие для импорта только DDL (без данных):
cqlsh CassandraNEWhost -f mySchema.cdl
Ответ 4
Все прямо из командной строки. Не нужно входить в cqlsh.
Импортировать схему (файл .cql):
$ cqlsh -e "SOURCE '/path/to/schema.cql'"
Экспортировать пространство ключей:
$ cqlsh -e "DESCRIBE KEYSPACE somekeyspace" > /path/to/somekeyspace.cql
Экспорт схемы базы данных:
$ cqlsh -e "DESCRIBE SCHEMA" > /path/to/schema.cql