我得到了一个"查询超出了第1层的资源限制。第3层或更高版本要求"来自我的Dataflow作业的错误消息

时间:2017-03-24 21:52:03

标签: google-bigquery google-cloud-dataflow

从BigQuery查询数据的我的数据流作业失败并显示错误:

Query exceeded resource limits for tier 1. Tier 3 or higher required.

相同的Dataflow作业与我的另一个项目一起工作,我无法确定如何在Dataflow API中设置层。

1 个答案:

答案 0 :(得分:1)

目前,开源Dataflow SDK中包含的BigQueryIO库没有设置maximumBillingTier选项的选项。您的Dataflow作业在另一个项目中工作的原因可能是由于为该项目设置的默认maximumBillingTier满足查询要求。您可以在此处找到有关BigQuery定价的更多信息,特别是maximumBillingTier:

https://cloud.google.com/bigquery/pricing#high-compute

有几种可能的解决方法。第一种方法是将项目的默认maximumBillingTier设置为Dataflow所需的级别。应该注意,这将影响所有查询,而不仅仅是Dataflow提交的查询。这可以通过填写此处的表格来完成:

https://support.google.com/cloud/contact/bigquery_high_compute_queries_quota_request_form

另一种选择是直接使用BigQuery API运行查询,您可以在其中设置此值。然后,您可以将结果保存为可由Dataflow作业读入的新表。这是关于这个主题的另一篇文章的建议:

Set maximumBillingTier when reading from BigQuery in Dataflow

BigQuery和Dataflow团队正在努力在Dataflow SDK中提供此选项。