如何从Cassandra或Cassandra cqlsh提示符导入和导出架构?
答案 0 :(得分:55)
导出键空间架构:
cqlsh -e "DESC KEYSPACE user" > user_schema.cql
导出整个数据库架构:
cqlsh -e "DESC SCHEMA" > db_schema.cql
在' user_schema.cql'导入架构打开终端(' db_schema.cql')位置(或者您可以指定完整路径)并打开cqlsh shell。然后使用以下命令导入键空间架构:
source 'user_schema.cql'
导入完整数据库架构:
source 'db_schema.cql'
答案 1 :(得分:12)
如果使用cassandra-cli,您可以使用'show schema;'用于转储整个架构的命令。您可以通过运行'use keyspace ;来限制到特定的键空间。第一
您可以将输出存储在文件中,然后使用'cassandra-cli -f filename '导入。
如果使用cqlsh,则可以使用'describe schema'命令。您可以使用'describe keyspace keyspace '限制键空间。
您可以将其保存到文件中,然后使用'cqlsh -f filename '导入。
答案 2 :(得分:10)
对于将来出现的人,只需使用" myschema"来获取schema / keyspace的ddl。在" CassandraHost"服务器
echo -e "use myschema;\nDESCRIBE KEYSPACE;\n" | cqlsh CassandraHost > mySchema.cdl
您可以使用以下内容导入DDL(无数据):
cqlsh CassandraNEWhost -f mySchema.cdl
答案 3 :(得分:8)
一切都直接来自命令行。无需进入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
答案 4 :(得分:0)
cqlsh -u <user-name> -e "DESC KEYSPACE user" > user_schema.cql
密码将被提示。