【问题标题】:Import and export schema in cassandra在 cassandra 中导入和导出模式
【发布时间】:2013-05-02 16:18:18
【问题描述】:

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

【问题讨论】:

    标签: database cassandra schema database-schema cqlsh


    【解决方案1】:

    如果使用 cassandra-cli,您可以使用“show schema;”命令转储整个架构。您可以通过运行'use keyspace;'来限制特定的键空间首先。

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

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

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

    【讨论】:

    • 嗨,理查德,感谢您的回复。您已在两个服务中指定导入密钥空间。但是,我需要为如何在 cassandra-cli 和 cqlsh 上导入和导出密钥空间提供服务?请提供带有语法的信息。
    • @vpggopal 我想你可能需要为此付钱给他。
    • 如果您使用 cassandra-cli 创建架构,请使用我在上面编写的 cassandra-cli 命令。如果您使用 cqlsh,则使用 cqlsh 命令。不要同时使用两者,并注意 cassandra-cli 不会在其输出中包含 cql3 表。
    • 谢谢你 Richard,如何使用命令在 cqlsh 中导出模式?
    • @vpggopal :您可以使用echo -e "describe keyspace <keyspace>;\n" | cqlsh > <keyspace>.shema 轻松获取文件中的架构
    【解决方案2】:

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

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

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

    cqlsh  CassandraNEWhost -f mySchema.cdl
    

    【讨论】:

    • 这仅适用于兼容版本的远程主机。
    【解决方案3】:

    导出键空间架构:

    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 之后包含 IP/主机名,因为我们的实例在配置中使用了 rpc_address)。
    • 我正在尝试导出我的名为 crmdata 的架构及其数据,你能告诉我我需要在哪里运行这个 cmd cqlsh -e "crmdata" > db_schema.cql
    【解决方案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
    

    【讨论】:

      【解决方案5】:

      有认证

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

      密码将被提示。

      【讨论】:

        猜你喜欢
        • 2012-07-25
        • 2018-01-14
        • 1970-01-01
        • 1970-01-01
        • 2015-12-21
        • 1970-01-01
        • 2015-05-08
        • 2021-08-21
        • 2018-07-16
        相关资源
        最近更新 更多