从 BigQuery 读取 Cloud Dataflow 作业在开始之前卡住了

Cloud Dataflow job reading from BigQuery stuck before starting

我有一个 Cloud Dataflow 作业卡在启动阶段,在 运行 任何应用程序逻辑之前。我通过在 processElement 步骤中添加一个日志输出语句来测试它,但它没有出现在日志中,所以它似乎没有被达到。

我在日志中只能看到以下消息,每分钟出现一次:

logger: Starting supervisor: /etc/supervisor/supervisord_watcher.sh: line 36: /proc//oom_score_adj: Permission denied

这些每隔几秒循环一次:

VM is healthy? true.

http: TLS handshake error from 172.17.0.1:38335: EOF

Job is in state JOB_STATE_RUNNING, will check again in 30 seconds.

作业 ID 是 2015-09-14_06_30_22-15275884222662398973,尽管我还有另外两个作业(2015-09-14_05_59_30-110213927913046436712015-09-14_06_08_41-3621035073455045662)是我早上开始的,它们也有同样的问题。

关于可能导致此问题的原因有什么想法吗?

听起来您的管道有一个 BigQuery 源,后跟一个 DoFn。在 运行 连接您的 DoFn(并因此到达您的打印语句)之前,管道 运行 是一个 BigQuery 导出作业,用于在 GCS 中创建数据快照。这可确保管道获得 BigQuery tables.

中包含的数据的一致视图

您的 table 的 BigQuery 导出作业似乎花费了很长时间。不幸的是,导出过程没有进度指示器。如果您再次 运行 管道并让它 运行 更长,导出过程应该完成,然后您的 DoFn 将开始 运行ning。

我们正在研究改善导出作业的用户体验,并弄清楚为什么它花费的时间比我们预期的要长。