我有一些表想从一个 Cassandra 集群复制到另一个;我认为最直接的方法是运行一系列 shell 命令,例如:
cqlsh -e “将 keyspace.table1 复制到‘table1.csv’,header = true;
(然后是一系列反向 shell 命令以复制到新集群中)。
但是,当我运行它时,我看到:
使用 11 个子进程
使用列 [column1、column2、column3、column4] 开始复制 keyspace.table1。
但是进程永远挂起,永远不会添加到 objective-c SV 文件中。
最佳答案
您要复制的表中的行数和每行的大小是多少?如果行的大小和行数都很大,那么使用 COPY 并不是最佳选择。
您可以尝试的一个选项是减少批量大小。
cqlsh -e "copy table keyspace.table1 to 'table1.csv' with header = true AND MAXBATCHSIZE=5;
这可能需要更长的时间,但肯定会结束。我遇到过类似的问题,表中有近 3000 万条记录,减少批量大小有帮助。
关于cassandra - cqlsh -e "copy table"永远挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56497284/