gpt4 book ai didi

google-cloud-dataflow - 如何使用 Java Beam SDK 获取数据流作业的步骤详细信息?

转载 作者:行者123 更新时间:2023-12-04 21:05:40 28 4
gpt4 key购买 nike

我的数据流作业使用 Java Beam SDK,com.google.api.services.dataflow.model.Job类提供有关特定工作的详细信息。但是,它不提供任何方法/属性来获取数据流步骤信息,例如 添加的元素 , 预估尺寸 等等。

enter image description here

下面是我用来获取工作信息的代码,

PipelineResult result = p.run();        
String jobId = ((DataflowPipelineJob) result).getJobId();
DataflowClient client = DataflowClient.create(options);
Job job = client.getJob(jobId);

我正在寻找类似的东西,
job.getSteps("step name").getElementsAdded();
job.getSteps("step name").getEstimatedSize();

提前致谢。

最佳答案

SinkMetrics 类提供了 bytesWritten()方法和 elementsWritten()方法。此外, SourceMetrics 类提供了一个 elementsRead()和一个 bytesRead()方法。

如果您使用 org.apache.beam.sdk.metrics 中的类包来查询这些指标并逐步过滤,您应该能够获得停止的基础指标(即读取的元素)。

我想补充一点,如果您愿意查看 Beam Java SDK 之外的内容,因为您在 Google Cloud Dataflow 上运行,您可以使用 Google Dataflow API 特别是,您可以使用 projects.jobs.getMetrics 获取作业的详细指标,包括写入/读取的元素数量。您将需要对指标进行一些解析,因为即使是一项简单的工作也有数百个指标,但您正在寻找的基础数据是通过此 API 调用提供的(我刚刚测试过)。

关于google-cloud-dataflow - 如何使用 Java Beam SDK 获取数据流作业的步骤详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46711891/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com