我正在使用 Cassandra python 驱动程序,其中包含一个包含 38500000 行的表。我正在使用我们正在开发的产品对各种数据库进行基准测试。为了对选择进行基准测试,我使用了一个过滤器,该过滤器应该返回大约有 3 个选择列的一半行(然后我改变选择列以查看哪个表现最佳)。但是,在使用 Cassandra 时,每次查询每次只能得到 57016 个结果(必须是上限)。我试过使用 SimpleStatement 和设置,fetch_size = 38500000但这没有用。我想知道是否有一些参数我应该更改,因为除了 Cassandra 如何分解超出fetch_size.
[编辑]
要添加更多信息,查询返回:
cassandra.ReadFailure: Error from server: code=1300 [Replica(s) failed to execute read] message="Operation failed - received 0 responses and 1 failures" info={'consistency': 'LOCAL_ONE', 'required_responses': 1, 'received_responses': 0, 'failures': 1}
我用过之后session.default_fetch_size = None。然后在将墓碑增加到tombstone_failure_threshold: 10000000并让gc_grace_seconds = 0我仍然得到同样的错误之后。我也进入了 Cluster.py 并设置了_default_timeout = 1000但这并没有导致任何结果。
[编辑 2] 通过调试控制台,错误是:
<SELECT * FROM mydb.facttable WHERE int64 > 0 …