cassandra - cqlsh -e "copy table"永远挂起

标签 cassandra

我有一些表想从一个 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/

相关文章:

java - 分布式服务器的拉与推

spring-boot - 由 : com. datastax.oss.driver.api.core.InvalidKeyspaceException: Invalid keyspace mykeyspace in Spring Boot Cassandra 引起

apache-spark - Spark 任务失败时出现重复记录

hadoop - Hector 的批处理 Mutation 与使用 Hadoop 作业将数据加载到 Cassandra 中?

java - Trident Storm-Cassandra,写入具有多个主键的表

database - Cassandra 数据库行大小是否受可用内存限制?

cassandra - 无法创建嵌套集合数据类型

java - Cassandra DB 实现容器管理安全性的领域

java - 如何以编程方式启动 Apache Cassandra

amazon-ec2 - Amazon AIM 上的 DataStax Cassandra,设置特定版本