在Cassandra中使用用户定义函数时的Readtimeout

问题描述 投票:1回答:1

我们在AWS上有一个单节点Cassandra Cluster(Apache),其中包含2个vCPU和大约16 GB RAM。我们有大约28 GB的数据上传到Cassandra。

现在,Cassandra可以通过使用主键的查询正常工作,但是当使用用户定义函数在非主键上使用聚合函数时 - 它会给出超时。

详细说明 - 我们对年份,月份和日期进行了3年数据分区。现在,例如,如果两列是 - Bill_ID和Bill_Amount,我们希望使用UDF通过Bill_ID获得Bill_Amount的总和。

在这里有点困惑,因为我相信如果信息说它收到了1个回复,为什么它会收到超时的消息?为什么我们只是在使用用户定义函数时才会出现超时?

ReadTimeout: Error from server: code=1200 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 1 responses." info={'received_responses': 1, 'required_responses': 1, 'consistency': 'ONE'}

我们将yaml文件中的读取超时增加到10分钟。

编辑 - 添加查询的屏幕截图。在设置--request-timeout之前显示结果并使用UDF发布。该表有1.5亿行,超过1095个分区仅用于3年的数据 - 主键是年,日和月。

Screenshot of the query used

cassandra cassandra-3.0
1个回答
0
投票

尝试在客户端增加超时,例如cqlsh:

cqlsh --request-timeout = 3600

© www.soinside.com 2019 - 2024. All rights reserved.