gpt4 book ai didi

java - 如何通过键合并两个PCollection KV<>?

转载 作者:行者123 更新时间:2023-12-02 00:58:08 25 4
gpt4 key购买 nike

我正在尝试输出同一个键的 SUM 和 COUNT 。例如。给定一个包含数百万个飞机延误事件的 .csv。使用 Apache Beam (Java),我想对每架飞机的延误持续时间进行求和,并计算每架飞机的延误次数。

每行都有plane_id、delay_duration、date等。

我正在尝试创建两个 PCollection,并希望在输出之前将它们合并。

PCollection<KV<String, Integer>> sum =  eventInfo.apply(MapElements.into(TypeDescriptors.kvs(TypeDescriptors.strings(),TypeDescriptors.integers())).via((Event.EventInfo gInfo) -> KV.of(gInfo.getKey('plane_id'), gInfo.getDuration()))).apply(Sum.integersPerKey());

PCollection<KV<String, Long>> count = eventInfo.apply(MapElements.into(TypeDescriptors.kvs(TypeDescriptors.strings(), TypeDescriptors.integers())).via((Event.EventInfo gInfo) -> KV.of(gInfo.getKey('plane_id'), gInfo.getDuration()))).apply(Count.perKey());

这两个 PCollection 按预期工作,但我不知道如何在 3 列 key | 中输出它(合并它?)总和|计数。

最佳答案

您将需要CoGBK ,这将帮助您将总和计数放在同一个 key 上。

关于java - 如何通过键合并两个PCollection KV<>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57793096/

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