我使用ApacheFlink1.4创建了一个这样的流,首先是datastream,然后是keyby,然后是window,然后是aggregate聚合操作的输出是aggregateresult对象,因此现在结束的流是singleoutputstreamoperator类型接下来我要做的是scala foldleft的等价物。是否有运营商提供该功能。谢谢
jhdbpxl91#
flink 1.4提供了 AggregateFunction 这类似于 foldLeft .aggregatefunction的api工作如下:初始(或开始)值在 createAccumulator() 方法。累加器保存部分聚合的值。值与 add() 方法。最后,由 getResult() 方法。不同之处在于 foldLeft 那是一张照片吗 AggregateFunction 能够通过其 merge() 方法。某些窗口类型(会话窗口)需要合并部分聚合的功能,对于某些优化非常有用。
AggregateFunction
foldLeft
createAccumulator()
add()
getResult()
merge()
1条答案
按热度按时间jhdbpxl91#
flink 1.4提供了
AggregateFunction
这类似于foldLeft
.aggregatefunction的api工作如下:初始(或开始)值在
createAccumulator()
方法。累加器保存部分聚合的值。值与add()
方法。最后,由getResult()
方法。不同之处在于
foldLeft
那是一张照片吗AggregateFunction
能够通过其merge()
方法。某些窗口类型(会话窗口)需要合并部分聚合的功能,对于某些优化非常有用。