gpt4 book ai didi

apache-flink - Apache Flink : calculating and outputting multiple values in one window

转载 作者:行者123 更新时间:2023-12-01 01:53:47 24 4
gpt4 key购买 nike

我们计划使用 Apache Flink 对多种类型的对象进行实时聚合。
我们需要支持多种类型的聚合,例如 sum、max、min、average 等 - 到目前为止没什么特别的

我们的要求是将数据输出到 kafka,其中一条消息包含多个对象属性的多个聚合值。

例如,该消息应包括属性 A 的总和、最大值和平均值以及最近 10 分钟内属性 B 的总和和最小值

我的问题是用 Flink 实现这种要求的最佳方法是什么?

我们考虑使用自定义窗口函数,该函数将在窗口末尾的所有对象上运行并自行计算所有需要的值并输出一个包含所有这些聚合值的新对象。
我们担心这个解决方案对内存消耗的影响必须将所有窗口数据保存在内存中等待窗口触发(我们将同时打开许多这样的窗口)

任何建议/意见都非常感谢!

谢谢

最佳答案

最好的方法是使用增量聚合来计算每个窗口的计数、总和、最小值和最大值——并且您可以在给定总和和计数的情况下计算窗口函数中的平均值。通过这种方式,您需要保留的唯一状态是这四个值(计数、总和、最小值和最大值),而不必缓冲整个流以在窗口结束时进行处理。

This example from the documentation应该足以让你开始。

关于apache-flink - Apache Flink : calculating and outputting multiple values in one window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44371222/

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