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,它们有自己的选项。希望这能回答您的第二个问题。
经过一些研究,我发现 Google 云 API 说你应该使用 Pipeline.create(PipelineOptions)
而不是 DataflowPipeline.create(DataflowPipelineOptions)
,但它没有解释原因。谁能为我澄清一下?
此外,使用 Pipeline.create(DataflowPipelineOptions)
的后续问题在 运行 管道时也有效,是否有充分的理由不使用属性 DataflowPipelineOptions
而不是重新实现 PipelineOptions
=] 已经有,比如project?
PipelineOptions
是一个特殊的 class,旨在同时保存多种选项的集合。 DataflowPipelineOptions
只是它可以容纳的选项子集之一,但是在指代完整的选项集合时,将它称为 PipelineOptions
更有意义,因为它是一个更笼统和抽象的概念,即使它与 DataflowPipelineOptions
是同一个对象。
PipelineOptions
甚至不是特定于数据流的;部分原因是管道可以 运行 使用 运行 不同于 Dataflow 的其他工具,例如 Spark 和 Flink,它们有自己的选项。希望这能回答您的第二个问题。