我们有 2 个 cassandra 集群,第一个有旧数据,第二个有新数据。
现在我们想将旧数据从第一个集群移动或复制到第二个集群。执行此操作的最佳方法是什么以及如何执行此操作?
我们正在使用 DSE 3.1.4。
我们有 2 个 cassandra 集群,第一个有旧数据,第二个有新数据。
现在我们想将旧数据从第一个集群移动或复制到第二个集群。执行此操作的最佳方法是什么以及如何执行此操作?
我们正在使用 DSE 3.1.4。
您可以尝试的一种工具是 COPY TO/FROM cqlsh 命令。
在旧集群中的节点上,您将使用 COPY TO:
cqlsh> COPY myTable (col1, col2, col3, col4) TO 'temp.csv'
然后(在复制文件之后)在新集群中的一个节点上,将 CSV 文件中的数据复制到 Cassandra:
cqlsh> COPY myTable (col1, col2, col3, col4) FROM 'temp.csv'
这是有关COPY命令的更多文档。
请注意,对于仅包含几百万行或更少行的表,建议使用 COPY TO/FROM。对于较大的数据集,您应该查看:
有一个名为 /usr/bin/sstableloader 的工具用于在集群之间复制数据。虽然几个月前我使用它时遇到错误并改用它。但是因为很久以前,sstableloader 可能已经修复了。