如何正确地在Cassandra中的两个表之间迁移数据

时间:2016-08-18 10:09:26

标签: cassandra data-migration cassandra-2.1

我必须在Cassandra中更改其中一个表的架构。仅使用ALTER TABLE命令无法完成,因为主键有一些变化。

所以问题是:如何以最佳方式进行这样的迁移?

在cql中使用COPY命令不是一个选项,因为转储文件可能非常庞大。

我可以通过不创建一些自定义应用程序来解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

像Guillaume在评论中建议的那样 - 你不能直接在cassandra中这样做。模式更改操作在这里非常有限。您必须使用建议的工具之一手动执行此类迁移,或者如果您有非常大的表,则可以使用Spark。

Spark可以有效地从节点读取数据,在本地转换它们并将它们保存回db。请记住,此类迁移需要读取整个数据库内容,因此可能需要一段时间。它可能是性能最高的解决方案,但需要更大的准备 - Spark集群设置。