我们在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年的数据 - 主键是年,日和月。
答案 0 :(得分:0)
尝试在客户端增加超时,例如cqlsh:
cqlsh --request-timeout = 3600