我使用 Apache Beam 的 Scio 包装器创建了一个管道。我想将它部署在 Google Dataflow 中。
我希望有一个特定的按钮或端点或函数可以定期执行此作业。
我能找到的所有指令都涉及运行 sbt runMain/pack,它会构建工件并每次都上传它们。
如何上传工件一次,然后尽可能轻松地基于管道创建作业?
我使用 Apache Beam 的 Scio 包装器创建了一个管道。我想将它部署在 Google Dataflow 中。
我希望有一个特定的按钮或端点或函数可以定期执行此作业。
我能找到的所有指令都涉及运行 sbt runMain/pack,它会构建工件并每次都上传它们。
如何上传工件一次,然后尽可能轻松地基于管道创建作业?
我不知道这将如何与 Scio 一起工作,但通常,您可以创建自定义 Dataflow 模板,然后通过控制台、API 调用、gcloud 命令或客户端库执行它。
我的问题解决了。这是我对以前的自己的建议:
--templateLocation=gs://mybucket/templateName.json
您可以通过添加到程序 args来自动生成模板文件。"filesToStage"
."filesToStage"
可能存在以确保正确部署工件。. . 因此对您的本地驱动器的引用。"gs://"
类型。通过运行修复它FileSystems.setDefaultPipelineOptions(PipelineOptionsFactory.create)
@ravwojdyla 和 @Iñigo - 谢谢你们的帮助。