Google cloud dataflow 作业图错误太大

Google cloud dataflow 作业图错误太大,google-cloud-dataflow,apache-beam,Google Cloud Dataflow,Apache Beam,我一直试图在Dataflow上运行apache beam作业,但GCP出现错误,并显示以下消息: The job graph is too large. Please try again with a smaller job graph, or split your job into two or more smaller jobs. 我在过去用较大的图表运行过作业,没有问题。使用DirectRunner,作业在本地也可以正常运行。图中大约有12个节点,包括从Bigquery读取步骤、写入文本

我一直试图在Dataflow上运行apache beam作业,但GCP出现错误,并显示以下消息:

The job graph is too large. Please try again with a smaller job graph, or split your job into two or more smaller jobs.
我在过去用较大的图表运行过作业,没有问题。使用DirectRunner,作业在本地也可以正常运行。图中大约有12个节点,包括从Bigquery读取步骤、写入文本步骤和CoGroupByKey步骤


有没有办法增加数据流愿意接受的图形大小?

对于小管道,最可能的原因是意外地将额外数据序列化到DOFN(或其他序列化代码)中。主类中是否有自动包含在闭包中的大型对象?如果是这样,最简单的方法就是在静态函数中构建管道


无法提高图表大小限制。

是的,这就是问题所在。我认为将~35MB的有效负载作为序列化对象发送给每个worker是可以的,并且错误地解释了错误消息,因为计算步骤太多了。问题现在已经解决了,谢谢。另外,如果您将自动缩放和最大工作人数设置为1000左右,那么在升级到Beam 2.10和Scio 0.7.2后,现在点击此项将增加1000次。我有一种感觉,我是过度序列化,但我不知道如何追踪它。有什么建议吗?