Схема импорта и экспорта в cassandra

Как импортировать и экспортировать схему из приглашения Cassandra или Cassandra cqlsh?


person vpggopal    schedule 08.05.2013    source источник


Ответы (5)


Чтобы экспортировать схему пространства ключей:

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'
person Raman Yelianevich    schedule 03.03.2015
comment
Спасибо, работает идеально! (Мне пришлось указать IP/имя хоста после cqlsh, потому что наш экземпляр использует rpc_address в конфигурации). - person Jess; 12.02.2016
comment
Я пытаюсь экспортировать свою схему под названием crmdata с ее данными, не могли бы вы сказать мне, где мне нужно запустить эту команду cqlsh -e "crmdata" > db_schema.cql - person ZAJ; 30.07.2017

Если вы используете cassandra-cli, вы можете использовать «схему показа»; команда для сброса всей схемы. Вы можете ограничиться определенным пространством ключей, запустив 'use keyspace;' первый.

Вы можете сохранить вывод в файле, а затем импортировать с помощью «cassandra-cli -f filename».

Если вы используете cqlsh, вы можете использовать команду «описать схему». Вы можете ограничиться пространством ключей с помощью «описать пространство ключей keyspace».

Вы можете сохранить это в файл, а затем импортировать с помощью «cqlsh -f filename».

person Richard    schedule 08.05.2013
comment
Привет Ричард, спасибо за ваш ответ. Вы указали импорт пространства ключей в обоих сервисах. Но мне нужно как импортировать, так и экспортировать пространство ключей на cassandra-cli и cqlsh? Пожалуйста, предоставьте информацию с синтаксисом. - person vpggopal; 09.05.2013
comment
@vpggopal Я думаю, вам, возможно, придется заплатить ему за это. - person Lyuben Todorov; 09.05.2013
comment
Если вы использовали cassandra-cli для создания своей схемы, используйте команды cassandra-cli, которые я написал выше. Если вы использовали cqlsh, используйте команды cqlsh. Не используйте оба варианта и обратите внимание, что cassandra-cli не будет включать таблицы cql3 в свой вывод. - person Richard; 09.05.2013
comment
Спасибо, Ричард, как экспортировать схему в cqlsh с помощью команды? - person vpggopal; 09.05.2013
comment
В моем ответе написано. Используйте «описать схему». - person Richard; 09.05.2013
comment
Ричард, все работает нормально, но где хранится экспортированная схема, мы использовали команду описания схемы и в каком формате она будет храниться? - person vpggopal; 10.05.2013
comment
Это текстовый вывод. Поместите его в файл и импортируйте с помощью команды «cqlsh -f». - person Richard; 10.05.2013
comment
Спасибо, Ричард. Если возможно написать текст вывода команды «describe keyspace» в любом формате файла? - person vpggopal; 10.05.2013
comment
Ричард, как использовать агрегатную функцию в cassandra 1.2.3 ИЛИ какая версия поддерживает агрегатную функцию? - person vpggopal; 13.05.2013
comment
@vpggopal: вы можете легко получить схему в файле, используя echo -e "describe keyspace <keyspace>;\n" | cqlsh > <keyspace>.shema - person Pierre Rust; 23.01.2014

Для тех, кто придет в будущем, просто получить ddl для схемы/пространства ключей с «myschema» на сервере «CassandraHost».

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

и вы можете использовать следующее для импорта только DDL (без данных):

cqlsh  CassandraNEWhost -f mySchema.cdl
person dillip pattnaik    schedule 17.09.2014
comment
Это работает только с удаленным хостом, если они находятся в совместимой версии. - person Chris Stryczynski; 13.05.2016

Все прямо из командной строки. Не нужно заходить в 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
person rouble    schedule 30.08.2016

С аутентификацией

cqlsh -u <user-name> -e "DESC KEYSPACE user" > user_schema.cql

будет запрошен пароль.

person Shakeel    schedule 08.07.2021