PipelineOptions中的自定义参数

时间:2015-06-02 11:02:53

标签: google-cloud-dataflow

我有一个CustomSource和CustomSink。这些源和接收器需要特定的参数,例如必须读取数据的位置以及必须写入结果的位置。

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

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

谢谢, 萨姆。

1 个答案:

答案 0 :(得分:2)

要创建自己的选项,首先要扩展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