来自 PipelineOptions 的自定义参数

Custom parameters from PipelineOptions

我有 CustomSource 和 CustomSink。这些 Source 和 Sink 需要特定的参数,例如必须从何处读取数据以及必须将结果写入何处。

我想将这些参数作为参数传递给 PipelineOption。如何从 PipelineOption 获取这些参数?

我自己写 Option 扩展 PipelineOption 是唯一的方法吗?

谢谢, 山姆

要创建您自己的选项,您首先要扩展 PipelineOptions 接口:

public static interface Options extends PipelineOptions {
    String getInput();
    void setInput(String value);

    String getOutput();
    void setOutput(String value);
}

然后在创建 PipelineOptions 时执行以下操作:

public static void main(String[] args) {
     Options options = PipelineOptionsFactory.fromArgs(args).withValidation().as(Options.class);
     ...
}

当您想要检索选项时:

Options options = pipeline.getOptions().as(Options.class);
options.getInput();

你也可以看看字数统计例子here