我想覆盖现有数据流管道选项的默认值。 比如我这样试过
public interface MyOptions extends DataflowPipelineOptions {
// Common options here.
@Override
@Default.Class(DataflowPipelineRunner.class)
Class<? extends PipelineRunner<?>> getRunner();
}
...
MyOptions options = PipelineOptionsFactory.fromArgs(args).withValidation().as(MyOptions.class);
但这行不通。 有什么方法可以覆盖现有选项的默认值吗?
最佳答案
据我所知,这在您描述的形式中是不可能的。您可以通过使用自定义默认值的“中间”自定义参数来完成类似的事情:
public interface MyOptions extends PipelineOptions {
@Default.Class(DataflowPipelineRunner.class)
Class<? extends PipelineRunner<?>> getMyRunner();
}
PipelineOptions options = PipelineOptionsFactory.fromArgs(args).withValidation();
options.as(DataflowPipelineOptions.class).setRunner(
options.as(MyOptions.class).getMyRunner());
关于google-cloud-dataflow - 如何覆盖现有数据流管道选项的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40427908/