数据流程挂起

时间:2018-02-06 22:18:33

标签: google-cloud-platform google-cloud-dataflow google-data-api

我在数据流上运行批处理作业,从BigQuery查询。当我使用DirectRunner时,一切正常,结果将写入新的BigQuery表。当我改用DataflowRunner时,事情似乎就会破裂。

日志显示30个工作器实例已成功启动。 Web UI中的图表显示作业已启动。前三个步骤显示“正在运行”,其余显示“未启动”。没有任何步骤显示任何转换的记录(即outputcollections都显示' - ')。日志显示许多看起来像这样的消息,这可能是问题所在:

skipping: failed to "StartContainer" for "python" with CrashLoopBackOff: "Back-off 10s restarting failed container=python pod=......

我后退了一步,然后运行了最小的wordcount示例,并成功完成了。因此,似乎为Dataflow runner启用了所有必需的API。我只想了解导致我的Dataflow作业挂起的原因。

我正在执行这样的工作:

python2.7 script.py --runner DataflowRunner --project projectname --requirements_file requirements.txt --staging_location gs://my-store/staging --temp_location gs://my-store/temp

1 个答案:

答案 0 :(得分:2)

我不确定我的解决方案是否是上面粘贴的错误的原因,但修复依赖项问题(根本没有显示为日志中的错误!)确实解决了挂起的数据流过程。

因此,如果您有挂起过程,请确保您的工作人员具有所有必要的依赖关系。您可以通过--requirements_file参数或自定义setup.py脚本提供它们。

感谢我在this post中收到的帮助,管道似乎正在运行,尽管是VERY SLOWLY