38

如何从 Cassandra 或 Cassandra cqlsh 提示导入和导出架构?

4

5 回答 5

68

要导出键空间架构:

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'
于 2015-03-03T10:19:35.857 回答
14

一切都直接来自命令行。无需进入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
于 2016-08-30T17:35:14.850 回答
12

对于将来来的人,只是为了在“CassandraHost”服务器中使用“myschema”获取模式/键空间的 ddl。

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

您可以使用以下方法仅导入 DDL(无数据):

cqlsh  CassandraNEWhost -f mySchema.cdl
于 2014-09-17T22:40:15.837 回答
12

如果使用 cassandra-cli,您可以使用“显示模式;” 命令转储整个架构。您可以通过运行“使用密钥空间;”来限制特定的密钥空间 第一的。

您可以将输出存储在文件中,然后使用“cassandra-cli -f filename ”导入。

如果使用 cqlsh,您可以使用“描述架构”命令。您可以使用“描述键空间键空间”限制键空间。

您可以将其保存到文件中,然后使用“cqlsh -f文件名”导入。

于 2013-05-08T12:34:19.467 回答
0

带认证

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

将提示密码。

于 2021-07-08T14:50:59.057 回答