当前位置 : 主页 > 大数据 > 区块链 >

cassandra – 从CQL导出数据时出现RPC超时错误

来源:互联网 收集:自由互联 发布时间:2021-06-22
我正在尝试使用CQL客户端从cassandra导出数据.列族中包含大约100000行.当我使用COPY TO命令将dta复制到csv文件时,我得到以下rpc_time out错误. copy mycolfamily to '/root/mycolfamily.csv'Request did not comp
我正在尝试使用CQL客户端从cassandra导出数据.列族中包含大约100000行.当我使用COPY TO命令将dta复制到csv文件时,我得到以下rpc_time out错误.

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

网友评论