【问题标题】:How to Copy/Move data between columnfamilies with same structure in cassandra如何在cassandra中具有相同结构的列族之间复制/移动数据
【发布时间】:2016-01-16 08:25:40
【问题描述】:

我正在寻找一种方法将列族中的数据复制/移动到具有相同结构、相同键空间的另一个列族中。

我已经尝试使用 COPY 命令导入为 csv 并将其导出到目标列族。

由于数据很大,我在使用 COPY 时遇到了超时。

一种方法是编写应用程序以使用客户端 api 复制数据并添加到另一个列族。

是否有任何工具可以在不同列族之间复制/移动数据?还是其他方式?

【问题讨论】:

    标签: cassandra bigdata cql data-migration


    【解决方案1】:

    我建议使用 Spark 进行这种批量迁移。它也是 C* 常规维护的有用工具。

    https://github.com/datastax/spark-cassandra-connector

    使用 spark 命令

    sc.cassandraTable("ks1","table").saveToCassandra("ks2","table") 
    

    你会移动你的桌子。

    如果您对 Spark 不感兴趣,我认为自定义 Java 程序或 Brian Hess 的 Bulkloader 工具会很有用

    https://github.com/brianmhess/cassandra-loader

    【讨论】:

    • 注意:如果要使用 sc.cassandraTable 必须导入 com.datastax.spark.connector._ //加载隐式函数,否则将不起作用
    【解决方案2】:

    如果你想摆脱 cqlsh 的超时。您实际上可以使用选项 --request-timeout=3600 启动 cqlsh,它将超时从默认的 10 秒更改为一小时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-17
      • 2015-01-14
      • 2014-09-19
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 2018-11-11
      相关资源
      最近更新 更多