【发布时间】:2013-05-02 16:18:18
【问题描述】:
如何从 Cassandra 或 Cassandra cqlsh 提示导入和导出架构?
【问题讨论】:
标签: database cassandra schema database-schema cqlsh
如何从 Cassandra 或 Cassandra cqlsh 提示导入和导出架构?
【问题讨论】:
标签: database cassandra schema database-schema cqlsh
如果使用 cassandra-cli,您可以使用“show schema;”命令转储整个架构。您可以通过运行'use keyspace;'来限制特定的键空间首先。
您可以将输出存储在文件中,然后使用 'cassandra-cli -f filename' 导入。
如果使用 cqlsh,您可以使用“描述架构”命令。您可以使用 'describe keyspace keyspace' 限制键空间。
您可以将其保存到文件中,然后使用 'cqlsh -f filename' 导入。
【讨论】:
echo -e "describe keyspace <keyspace>;\n" | cqlsh > <keyspace>.shema 轻松获取文件中的架构
对于未来的人来说,只是为了在“CassandraHost”服务器中使用“myschema”获取模式/键空间的 ddl。
echo -e "use myschema;\nDESCRIBE KEYSPACE;\n" | cqlsh CassandraHost > mySchema.cdl
您可以使用以下方法仅导入 DDL(无数据):
cqlsh CassandraNEWhost -f mySchema.cdl
【讨论】:
导出键空间架构:
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'
【讨论】:
cqlsh -e "crmdata" > db_schema.cql
一切都直接来自命令行。无需进入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
【讨论】:
cqlsh -u <user-name> -e "DESC KEYSPACE user" > user_schema.cql
密码将被提示。
【讨论】: