【问题标题】:How to submit a Dataflow job from a jar?如何从 jar 提交数据流作业?
【发布时间】:2017-04-26 12:07:03
【问题描述】:

为了重现性,我希望能够构建包含数据流作业的 jar,然后使用不同的参数运行它们(例如,通过不同的帐户推广它们)。这也将简化回滚,因为构建将是不可变的。

我目前正在使用来自 maven 的 DataflowPipelineRunner 运行作业,但由于上述自动部署等原因,这很糟糕。

如何直接从 jar 运行数据流作业?

【问题讨论】:

    标签: java maven google-cloud-dataflow


    【解决方案1】:

    啊,看来我需要templates

    【讨论】:

      【解决方案2】:

      我认为模板是最有前途的方法,但目前如果你想编写一个批处理作业来写入 BigQuery,你需要在每次运行作业时都创建一个模板,这几乎破坏了模板。 (这个解释here

      正如this Github README 中所写,您可以通过调用mvn package 创建一个bundle jar,然后类似下面的内容应该可以使用该jar 文件提交数据流作业。

      java -cp target/google-cloud-dataflow-java-examples-all-bundled-manual_build.jar \
      com.google.cloud.dataflow.examples.WordCount \
      --project=<YOUR CLOUD PLATFORM PROJECT ID> \
      --stagingLocation=<YOUR CLOUD STORAGE LOCATION> \
      --runner=BlockingDataflowPipelineRunner
      

      这是我目前选择的方式,因为我需要与 BigQuery 交互。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多