【问题标题】:How to do data migration of Cassandra from one keyspace to another keyspace?如何将 Cassandra 的数据从一个键空间迁移到另一个键空间?
【发布时间】:2016-07-06 23:27:57
【问题描述】:

我在 Cassandra 集群中创建了一个旧的 keyspace,但发现它的“比较器”的定义是错误的,所以我必须重新创建一个新的 keyspace 并进行数据迁移。有什么工具可以做数据迁移吗?或者我必须使用 Thrift 客户端编程从旧密钥空间读取所有数据并将它们写入新密钥空间?欢迎任何建议或代码sn-ps!

【问题讨论】:

    标签: cassandra migration


    【解决方案1】:

    这是一个常见的问题,我想这里之前已经有人问过了。 您可以在 C* 中使用 COPY 命令。 你会在这里找到更多细节http://www.datastax.com/dev/blog/ways-to-move-data-tofrom-datastax-enterprise-and-cassandra

    【讨论】:

      【解决方案2】:

      我们可以在 cql 中使用COPY 命令来实现。使用COPY 命令,我们可以将表数据保存到 .csv 文件,然后从 .csv 文件返回到表。但是,更好的方法是编写一个程序从表中读取并将其写入另一个表,因为如果表包含集合列类型,如list<text>map<text, text>set<text>,则从 csv 导入可能会失败。

      例如:- 将表格数据从表格复制到 .csv 文件:-

      COPY keyspace1.table1 (column1, column2) TO 'path/to/file/keyspace1_table1.csv';
      

      将 csv 数据从文件复制到表中:-

      COPY keyspace2.table1 (column1, column2) FROM 'path/to/file/keyspace1_table1.csv';
      

      参考Cassandra migration tool

      【讨论】:

        猜你喜欢
        • 2020-01-01
        • 2019-08-16
        • 1970-01-01
        • 2017-03-22
        • 2015-01-14
        • 2017-01-01
        • 2021-10-12
        • 2016-08-01
        • 2021-04-12
        相关资源
        最近更新 更多