Cassandra Python 驱动程序 ReadTimeout
Cassandra Python driver ReadTimeout
我正在尝试 运行 使用官方 python 驱动程序的 cqlsh 查询:
>>> session.execute('select count(*) from cassandra_table')
我收到以下错误:
ReadTimeout: Error from server: code=1200 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 0 responses." info={'received_responses': 0, 'required_responses': 1, 'consistency': 'LOCAL_ONE'}
我试图增加读取超时
尝试#1:
>>> session.default_timeout = 60.0
>>> session.execute('select count(*) from cassandra_table')
尝试#2:
>>> session.execute('select count(*) from cassandra_table', timeout=60.0)
两种方式都给了我相同的读取时间错误
如何正确增加读取超时?
版本信息:
Cassandra 3.11.0.1900
Spark 2.0.2.6-de611f9
DSE 5.1.5
cassandra-driver 3.12.0
在 cassandra 中 count(*)
是一个非常昂贵的操作,需要读取所有节点上的所有数据。鉴于 count(*)
很可能适用于少量数据,但在可能有行时却不行。
还有一篇来自 DataStax 的关于计数的博客 post:https://www.datastax.com/dev/blog/counting-keys-in-cassandra
我正在尝试 运行 使用官方 python 驱动程序的 cqlsh 查询:
>>> session.execute('select count(*) from cassandra_table')
我收到以下错误:
ReadTimeout: Error from server: code=1200 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 0 responses." info={'received_responses': 0, 'required_responses': 1, 'consistency': 'LOCAL_ONE'}
我试图增加读取超时
尝试#1:
>>> session.default_timeout = 60.0
>>> session.execute('select count(*) from cassandra_table')
尝试#2:
>>> session.execute('select count(*) from cassandra_table', timeout=60.0)
两种方式都给了我相同的读取时间错误 如何正确增加读取超时?
版本信息:
Cassandra 3.11.0.1900
Spark 2.0.2.6-de611f9
DSE 5.1.5
cassandra-driver 3.12.0
在 cassandra 中 count(*)
是一个非常昂贵的操作,需要读取所有节点上的所有数据。鉴于 count(*)
很可能适用于少量数据,但在可能有行时却不行。
还有一篇来自 DataStax 的关于计数的博客 post:https://www.datastax.com/dev/blog/counting-keys-in-cassandra