如何正确地在Cassandra中的两个表之间迁移数据
How to migrate data between two tables in Cassandra properly
我必须更改我在 Cassandra 中的一个表的架构。不能简单地使用ALTER TABLE
命令来完成,因为主键有一些变化。
所以问题是:如何以最好的方式进行这样的迁移?
在这里不能使用 cql 中的 COPY
命令,因为转储文件可能非常大。
我可以通过不创建一些自定义应用程序来解决这个问题吗?
正如 Guillaume 在评论中所建议的那样 - 您不能直接在 cassandra 中执行此操作。模式更改操作在这里非常有限。您必须使用其中一种建议的工具手动执行此类迁移,或者如果您有非常大的表,则可以利用 Spark。
Spark 可以高效地从您的节点读取数据,在本地转换它们并将它们保存回数据库。请记住,此类迁移需要读取整个数据库内容,因此可能需要一段时间。它可能是性能最高的解决方案,但需要更多的准备工作 - Spark 集群设置。
我必须更改我在 Cassandra 中的一个表的架构。不能简单地使用ALTER TABLE
命令来完成,因为主键有一些变化。
所以问题是:如何以最好的方式进行这样的迁移?
在这里不能使用 cql 中的 COPY
命令,因为转储文件可能非常大。
我可以通过不创建一些自定义应用程序来解决这个问题吗?
正如 Guillaume 在评论中所建议的那样 - 您不能直接在 cassandra 中执行此操作。模式更改操作在这里非常有限。您必须使用其中一种建议的工具手动执行此类迁移,或者如果您有非常大的表,则可以利用 Spark。
Spark 可以高效地从您的节点读取数据,在本地转换它们并将它们保存回数据库。请记住,此类迁移需要读取整个数据库内容,因此可能需要一段时间。它可能是性能最高的解决方案,但需要更多的准备工作 - Spark 集群设置。