【问题标题】:How to resolve BigQuery Storage API 429 Quota Error如何解决 BigQuery Storage API 429 配额错误
【发布时间】:2020-11-06 10:55:37
【问题描述】:

从 BigQuery Storage API 下载数据并定期收到 429 超出配额的错误(错误如下)

文件“/usr/local/lib/python3.8/site-packages/google/api_core/grpc_helpers.py”,第 100 行,在下一个 六.raise_from(exceptions.from_grpc_error(exc),exc) 文件“”,第 3 行,在 raise_from google.api_core.exceptions.ResourceExhausted: 429 在 'projects//locations/us/streams/EgxtbDRaekkwdjhUQWQaAmlyGgJpdygB' 上操作出错:超出配额。

总下载量应约为 100 GB。错误是零星的。试图找到适当的配额来增加配额或限制请求。这是会话配置。有人看到这个配额错误并且知道要调整什么配额吗?谢谢!

session = bqstorageclient.create_read_session(
    table,
    parent,
    read_options=read_options,
    format_=bigquery_storage_v1beta1.enums.DataFormat.ARROW,
    sharding_strategy=(
        bigquery_storage_v1beta1.enums.ShardingStrategy.LIQUID
    ),
)

【问题讨论】:

    标签: google-cloud-platform google-bigquery


    【解决方案1】:

    此错误表示您已达到配额,因为您从 BigQuery 下载数据很可能是load quota

    我建议查看限制和配额并相应地管理负载。

    【讨论】:

    • 感谢您的意见。已经检查过了。它使用 BigQuery Storage API,而不是加载作业和 BigQuery API。专门使用 BigQuery Storage API,因此不会达到加载作业限制。
    【解决方案2】:

    https://cloud.google.com/bigquery/quotas#storage-limits 建议最有可能的是 5k ReadRows 调用/分钟,因为您收到的错误是基于流标识符,而不是会话标识符。但是,如果您尝试通过流拆分等方式控制并行性,您可能会达到其他调用的 1k 限制。

    如果您在短时间内通过 ReadRows 开始消费大量流,您可能会达到此目的。无论是在单个会话中包含多个流的情况,还是在同时开始的多个会话的情况下。

    我还可以想象,由于流上的重试,频繁的瞬态网络故障可能会加剧这种情况。

    【讨论】:

      猜你喜欢
      • 2021-05-18
      • 1970-01-01
      • 1970-01-01
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      • 2020-04-24
      • 2020-06-11
      • 2020-06-18
      相关资源
      最近更新 更多