【问题标题】:Cassandra Python driver ReadTimeoutCassandra Python 驱动程序 ReadTimeout
【发布时间】:2018-06-15 02:50:28
【问题描述】:

我正在尝试使用官方 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)

两种方式都给了我相同的读取时间错误 如何正确增加readtimeout?

版本信息:

Cassandra   3.11.0.1900
Spark   2.0.2.6-de611f9
DSE               5.1.5
cassandra-driver 3.12.0

【问题讨论】:

    标签: python cassandra datastax-enterprise datastax-python-driver


    【解决方案1】:

    在 cassandra 中,count(*) 是一个非常昂贵的操作,需要读取所有节点上的所有数据。鉴于count(*) 很可能适用于少量数据,但在可能有行时却不行。

    DataStax 还有一篇关于计数的博文:https://www.datastax.com/dev/blog/counting-keys-in-cassandra

    【讨论】:

      猜你喜欢
      • 2018-11-10
      • 2015-04-12
      • 2017-11-26
      • 2016-10-02
      • 1970-01-01
      • 2017-08-07
      • 2015-03-26
      • 2017-11-15
      • 2017-05-31
      相关资源
      最近更新 更多