在django cassandra引擎中读取cassandra超时

mkshixfv  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(484)

嗨,我在用python中的cassandra。我在cassandra中有一个表,它的主键是行id(uuid)。我有大约2000000条记录(每个分区有一条记录)。当我要获取记录数时:

NumberPartitionedLine.objects.count()

我得到这个错误:

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

当我运行查询时 select count(*) from number_partitioned_line 在razorsql或datagrip中,我得到了超时错误,无法得到resutl。原因是什么?

368yc8dk

368yc8dk1#

您正在尝试读取200万个分区,这在cassandra中是不推荐的。
如果不受分区键的限制,那么进行计数(*)将给节点增加很大的压力,在您的情况下,您不能按分区限制,因为每个分区只有一个记录。
最好在你的案子里用一个柜台-https://docs.datastax.com/en/cql/3.3/cql/cql_using/usecountersconcept.html
您可以调整内存分配或增加yaml中的超时时间,但这只会有助于将问题推到以后。

相关问题