当我使用* DataflowPipelineRunner从Dataflow docs运行example WordCount job时,它会启动工作人员,然后挂起状态为Running。
最后两条状态消息:
Jan 29, 2016, 22:05:50
S02: (b959a12901787f4d): Executing operation ReadLines+WordCount.CountWords/ParDo(ExtractWords)+WordCount.CountWords/Count.PerElement/Init+WordCount.CountWords/Count.PerElement/Count.PerKey/GroupByKey+WordCount.CountWords/Count.PerElement/Count.PerKey/Combine.GroupedValues/Partial+WordCount.CountWords/Count.PerElement/Count.PerKey/GroupByKey/Reify+WordCount.CountWords/Count.PerElement/Count.PerKey/GroupByKey/Write
Jan 29, 2016, 22:06:42
(c3fc1276c0229a41): Workers have started successfully.
就是这样。当我点击“工人日志”时,它完全是空的。它保持这样至少20分钟。
它适用于DirectPipelineRunner(在几秒钟内完成并在我的gs:// ...上创建输出文件)。
我应该看什么?
命令行参数:
--project=my-project
--stagingLocation=gs://my-project/dataflow/staging
答案 0 :(得分:2)
没有显示日志的常见原因是Cloud Logging API尚未启用。如果getting started guide中列出的所有API都未启用,则可能会导致您描述的两个问题(没有记录和挂起的工作人员)。
尝试再次浏览入门指南并启用所有相关API。
答案 1 :(得分:1)
如果所有API均已启用,请检查一次用户身份验证。
glcoud auth login
和
gcloud auth application-default login
此外,请确保您已使用具有project owner or editor
用户访问权限的用户运行这些命令。
否则,您可以按以下方式使用服务帐户
import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '<creds.json>'