DataflowPipeline和DataflowPipelineOptions与Pipeline和PipelineOptions

时间:2016-09-16 22:07:37

标签: java google-cloud-dataflow

经过一些研究后,我发现Google云API说你应该使用Pipeline.create(PipelineOptions)而不是DataflowPipeline.create(DataflowPipelineOptions),但它并没有解释原因。有人可以为我澄清这个吗?

此外,使用Pipeline.create(DataflowPipelineOptions)的后续问题在运行管道时也有效,是否有任何充分的理由不重新实现PipelineOptions已经具有的属性DataflowPipelineOptions,例如作为项目?

1 个答案:

答案 0 :(得分:2)

PipelineOptions是一个特殊的类,旨在同时保存多种选项的集合。 DataflowPipelineOptions只是它可以容纳的选项的子集之一,但在引用完整的选项集合时,将它称为PipelineOptions更有意义,因为它是一个更通用和抽象的概念,即使它与DataflowPipelineOptions是同一个对象。

PipelineOptions甚至不是特定于数据流的;部分原因是管道可以使用Dataflow以外的运行程序运行,例如Spark和Flink,它们有自己的选项。希望这能回答你的第二个问题。

有关详细信息,请参阅Specifying execution parameters