google-cloud-dataflow - 如何覆盖现有数据流管道选项的默认值

标签 google-cloud-dataflow

我想覆盖现有数据流管道选项的默认值。 比如我这样试过

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/

相关文章:

python - 为什么使用 "--requirements_file"将依赖项上传到 GCS?

google-cloud-dataflow - 使用 --experiments=upload_graph 让 Dataflowrunner 工作

google-cloud-dataflow - 每个管道作业的成本

python-3.x - 如何从 Dataflow 批量(有效)发布到 Pub/Sub?

node.js - 运行现有数据流模板 GCS_Text_Bigquery 时出现错误 : The template parameters are invalid. Google Cloud 函数

java - WordCount 示例在 Eclipse 中运行,但不在终端中运行

google-cloud-dataflow - 全局窗口上 Combine.PerKey 的内存使用

google-cloud-dataflow - 具有实例本地缓存 + 外部 REST API 调用的 Google Dataflow Pipeline

google-cloud-platform - Google Dataflow - 调度

python - 如何在 Apache Beam Google DataFlow runner 中使用 matplotlib 模块