数据流错误 - "来源太大。限制是5.00Ti"

时间:2015-05-19 13:50:09

标签: google-cloud-dataflow

我们有一个看起来像这样的管道:

BigQuery - > ParDo - >大量查询

该表有~2B行,不到1TB。

运行8小时后,作业失败并显示以下错误:

May 19, 2015, 10:09:15 PM
S09: (f5a951d84007ef89): Workflow failed. Causes: (f5a951d84007e064): BigQuery job "dataflow_job_17701769799585490748" in project "gdfp-xxxx" finished with error(s): job error: Sources are too large. Limit is 5.00Ti., error: Sources are too large. Limit is 5.00Ti.

职位编号为:2015-05-18_21_04_28-9907828662358367047

它是一张大桌子,但它并不大,Dataflow应该能够轻松处理它。为什么不能处理这个用例?

此外,即使作业失败,它仍然会在图表上显示成功。为什么呢?

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为该错误意味着您尝试写入BigQuery的数据超过单个导入作业的5TB limit set by BigQuery

解决此限制的一种方法可能是通过多次写入转换将BigQuery写入分成多个作业,以便Write转换不会超过5TB。

在写入转换之前,您可以使用具有N个输出的DoFn。对于每个记录,将其随机分配给其中一个输出。然后,N个输出中的每一个都可以拥有自己的BigQuery.Write变换。写转换可以将数据全部附加到同一个表中,以便所有数据最终都在同一个表中。