2017-04-26 72 views
0

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

我目前运行与DataflowPipelineRunner从行家的工作,但是这是很可怕的带有自动部署等

我怎样可以直接运行从一个罐子数据流的工作上面的原因?

回答

0

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

写在this Github README,您可以通过调用mvn package然后类似下面应该工作提交使用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互动。