繁体   English   中英

Google Dataflow - 无法解析模板文件

[英]Google Dataflow - Unable to parse template file

我已经使用 apache beam 编写了一个 python 脚本,现在我正尝试使用 Google Dataflow 执行它。 但是,当我尝试创建作业时,出现以下错误:

[
  {
    "@type": "type.googleapis.com/google.rpc.PreconditionFailure",
    "violations": [
      {
        "type": "JSON",
        "subject": "0:0",
        "description": "Unexpected end of stream : expected '{'"
      }
    ]
  }
]

我知道我必须以某种方式将我的 python 代码转换为 JSON,但我还没有找到关于具体如何完成的非常明确的文档。 我已尝试按照此处文档中的说明运行命令:

  python -m examples.mymodule \
    --runner DataflowRunner \
    --project PROJECT_ID \
    --staging_location gs://BUCKET_NAME/staging \
    --temp_location gs://BUCKET_NAME/temp \
    --template_location gs://BUCKET_NAME/templates/TEMPLATE_NAME \
    --region REGION

在本地和谷歌云 shell 但我收到此错误: error: argument --runner: expected one argument ,尽管已经运行pip install apache-beam[gcp]

我已经看到这个问题Dataflow unable to parse template file with custom template但我无法让它与提供的答案一起工作。

感谢您阅读并提前致谢!

它更像是一个评论,虽然我还不能发表评论。

我使用相同的命令来暂存模板,所以我认为这不是问题所在。 我的猜测是你的管道代码。 您是否按照链接的 stackoverflow 帖子中的描述使用pipeline.run() 如果是这样,试试这个:

with beam.Pipeline(options=options) as p:
   (
       p 
       | 'Hello World' >> beam.Create(['Hello World'])
       | 'Print Hello World' >> beam.Map(print)
   )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM