经过一些研究后,我发现Google云API说你应该使用Pipeline.create(PipelineOptions)
而不是DataflowPipeline.create(DataflowPipelineOptions)
,但它并没有解释原因。有人可以为我澄清这个吗?
此外,使用Pipeline.create(DataflowPipelineOptions)
的后续问题在运行管道时也有效,是否有任何充分的理由不重新实现PipelineOptions
已经具有的属性DataflowPipelineOptions
,例如作为项目?
答案 0 :(得分:2)
PipelineOptions
是一个特殊的类,旨在同时保存多种选项的集合。 DataflowPipelineOptions
只是它可以容纳的选项的子集之一,但在引用完整的选项集合时,将它称为PipelineOptions
更有意义,因为它是一个更通用和抽象的概念,即使它与DataflowPipelineOptions
是同一个对象。
PipelineOptions
甚至不是特定于数据流的;部分原因是管道可以使用Dataflow以外的运行程序运行,例如Spark和Flink,它们有自己的选项。希望这能回答你的第二个问题。
有关详细信息,请参阅Specifying execution parameters。