经过一番重新搜索后,我发现Google云API指出您应该使用Pipeline.create(PipelineOptions)
而不是DataflowPipeline.create(DataflowPipelineOptions)
,但是没有解释原因。谁能为我澄清一下?
另外,在运行管道时使用Pipeline.create(DataflowPipelineOptions)
的后续问题也适用,是否有充分的理由而不是重新实现具有属性PipelineOptions
的DataflowPipelineOptions
,例如项目?
最佳答案
PipelineOptions
是一个特殊的类,旨在同时容纳多种选项的集合。 DataflowPipelineOptions
只是它可以容纳的选项的子集之一,但是当引用选项的完整集合时,将其称为PipelineOptions
更有意义,因为它是一个更笼统和抽象的概念,即使它与DataflowPipelineOptions
是同一对象。PipelineOptions
甚至不是特定于Dataflow的;部分原因是管道可以使用Dataflow以外的运行程序(例如Spark和Flink)运行,它们具有自己的选项。希望这能回答您的第二个问题。
有关详细信息,请参见Specifying execution parameters。