如何在cassandra中具有相同结构的columnfamilies之间复制/移动数据

时间:2015-10-17 18:04:32

标签: cassandra bigdata cql data-migration

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

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

由于数据很大,我在使用COPY时会出现超时。

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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