DataflowPipeline 和 DataflowPipelineOptions 与 Pipeline 和 PipelineOptions

DataflowPipeline and DataflowPipelineOptions vs. Pipeline and PipelineOptions

经过一些研究,我发现 Google 云 API 说你应该使用 Pipeline.create(PipelineOptions) 而不是 DataflowPipeline.create(DataflowPipelineOptions),但它没有解释原因。谁能为我澄清一下?

此外,使用 Pipeline.create(DataflowPipelineOptions) 的后续问题在 运行 管道时也有效,是否有充分的理由不使用属性 DataflowPipelineOptions 而不是重新实现 PipelineOptions =] 已经有,比如project?

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

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

详情请见Specifying execution parameters