【问题标题】:How do I get a dataflow Job ID from within the pipeline or before the pipeline ran?如何从管道内或管道运行之前获取数据流作业 ID?
【发布时间】:2020-12-04 03:39:44
【问题描述】:

我想在实际运行管道或在管道内部之前将数据流的作业 ID 作为字符串获取。

例如,假设我有这个:

DataflowOptions options = optionsConst.getOptions();         
Pipeline p = Pipeline.create(options);
String jobID = doSomthing(); <-- I'd like to grab the job id here

PCollection<KV<String, Object>> refData = p.apply("BigTable Access", BigtableIO.read()
                .withProjectId(options.getBigtableProjectId())
                .withInstanceId(options.getBigtableInstanceId())
                .withTableId(options.getLookupTableId()))
                .apply("Keep tags valid versions", ParDo.of(new MethodThatDoesSomethingWithJobID(**jobId**))); <-- Or inside this

【问题讨论】:

    标签: java google-cloud-dataflow apache-beam dataflow


    【解决方案1】:

    这是不可能的,因为 Job Id 是在您开始运行它时创建的。您可以做的是在开始运行管道后保存输出,或返回list job running

    【讨论】:

    • 您也可以在 PipelineOptions 中为作业指定作业名称,但这不是作业 ID,正如 Ramses 正确指出的那样。
    猜你喜欢
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多