我正在尝试使用CQL客户端从cassandra导出数据.列族中包含大约100000行.当我使用COPY TO命令将dta复制到csv文件时,我得到以下rpc_time out错误. copy mycolfamily to '/root/mycolfamily.csv'Request did not comp
copy mycolfamily to '/root/mycolfamily.csv' Request did not complete within rpc_timeout.
我在跑:
[cqlsh 3.1.6 | Cassandra 1.2.8 | CQL规范3.0.0 |节俭协议19.36.0]
如何增加RPC超时限制?
我尝试在我的conf / cassandra.yaml文件中添加rpc_timeout_in_ms:20000(defalut为10000).但是当重新启动cassandra时,我得到:
[root@user ~]# null; Can't construct a java object for tag:yaml.org,2002:org.apache.cassandra.config.Config; exception=Cannot create property=rpc_timeout_in_ms for JavaBean=org.apache.cassandra.config.Config@71bfc4fc; Unable to find property 'rpc_timeout_in_ms' on class: org.apache.cassandra.config.Config Invalid yaml; unable to start server. See log for stacktrace.COPY命令当前使用LIMIT 99999999的SELECT执行相同的操作.因此,当数据增长时,它最终将进入超时状态.这是导出功能;
https://github.com/apache/cassandra/blob/trunk/bin/cqlsh#L1524
我在生产上做同样的出口.我正在做的是以下几点;
>从表中选择*,其中timeuuid = someTimeuuid limit 10000
>将结果集写入csv文件w />>模式
>根据最后的timeuuid进行下一个选择
您可以通过以下cqlsh命令在cqlsh中管道命令
echo“{$cql}”| /usr/bin/cqlsh -u user -p password localhost 9160> FILE.CSV