来自 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。
我有 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。