gpt4 book ai didi

java - 自定义类型 PCollection 汇总的管道性能 - 属性的平均值和中值

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

我的 Apache-Beam/Dataflow 管道从 pub/sub 事件构建自定义类型的键控 PCollection。预汇总输出现在是 PCollection<KV<String, MyCustomObject>> 。接下来我需要总结这些数据以用于报告。结构化对象的集合可能非常大,因此如果我不小心,可能会出现内存不足的异常。

我在文档中看到Combine(Combine.globally 与CombineFn)和CombineWithContext 实用程序都可用。然而,文档和代码示例仍然非常少。

在我的管道的最后一步中 - 我需要总结这些大型 PCollection,但它们是复杂的结构化对象,我不仅计算平均值。我还想计算一些属性的中位数。

我可以想象这些示例如何在 N 个工作实例上工作。例如,框架必须在工作实例之间计算某种“加权平均值”。但这对于中位数不起作用。这就是CombineWithContext 的用途吗?是否应该通过侧面输入/输出来保持中值数组的状态?或者可以仅使用Combine.globally 以其他方式实现这一点?

任何代码示例将不胜感激。

最佳答案

听起来像 ApproximateQuantile如果您可以获取近似中位数,则转换就是您所需要的。

还有另一个变换 here它提供了基于更高级算法的相同功能。

关于java - 自定义类型 PCollection 汇总的管道性能 - 属性的平均值和中值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60326854/

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