如何Copy/Move cassandra中具有相同结构的columnfamilies之间的数据

How to Copy/Move data between columnfamilies with same structure in cassandra

我正在寻找一种方法 copy/move 将列族中的数据传输到具有相同结构、相同键空间的另一个列族。

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

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

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

有什么工具可以copy/move 不同列族之间的数据吗?或者其他方式?

我建议使用 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

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