我试图输出同一个键的 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 列中输出它(合并它?)总和| 数数。
杨__羊羊
相关分类