在1.4apacheflink数据流上是否有一个foldleft操作符

velaa5lx  于 2021-06-25  发布在  Flink
关注(0)|答案(1)|浏览(310)

我使用ApacheFlink1.4创建了一个这样的流,首先是datastream,然后是keyby,然后是window,然后是aggregate
聚合操作的输出是aggregateresult对象,因此现在结束的流是singleoutputstreamoperator类型
接下来我要做的是scala foldleft的等价物。是否有运营商提供该功能。
谢谢

jhdbpxl9

jhdbpxl91#

flink 1.4提供了 AggregateFunction 这类似于 foldLeft .
aggregatefunction的api工作如下:初始(或开始)值在 createAccumulator() 方法。累加器保存部分聚合的值。值与 add() 方法。最后,由 getResult() 方法。
不同之处在于 foldLeft 那是一张照片吗 AggregateFunction 能够通过其 merge() 方法。某些窗口类型(会话窗口)需要合并部分聚合的功能,对于某些优化非常有用。

相关问题