windowfunction的触发器和reducefunction的触发器有什么区别?
omvjsjqw1#
触发器仅适用于windows。reducefunction不需要触发器,它是一个转换操作,调用 processElement() 在每个新元素上。简而言之: ReduceFunction 每个元素的触发器(类似于 onElement() 窗口触发器)。 WindowFunction 按时触发(默认情况下)(事件、处理或摄取)。但是在这方面它是灵活的,并且接受自定义触发器。有关触发器的更多信息:https://ci.apache.org/projects/flink/flink-docs-master/dev/stream/operators/windows.html#triggers默认减少实现:https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/operators/streamgroupedreduce.java
processElement()
ReduceFunction
onElement()
WindowFunction
hujrc8aj2#
没有“reducefunction触发器”或“windowfunction触发器”,因为触发器和函数是正交的。在flink中,窗口操作至少由三部分组成: WindowAssigner :窗口分配程序决定将其分配到的每个记录的窗口。 Function :窗口的功能处理分配给窗口的记录。函数可以是 ReduceFunction , AggregateFunction , WindowFunction ,或 ProcessWindowFunction . ReduceFunction 以及 AggregateFunction 可以在收到所有记录之前立即应用。这是有益的,因为以这种方式可以显著减少窗口状态下要存储的数据量。 WindowFunction 以及 ProcessWindowFunction 处理窗口收集的所有记录。也可以组合一个函数( ReduceFunction , AggregateFunction )还有一个完整的窗口功能( WindowFunction , ProcessFunction ). 在这种情况下,记录被急切地聚合,并且急切的聚合结果最终被提供给full window函数。 Trigger :一个 Trigger 决定何时从窗口操作发出结果和/或放弃窗口操作的状态。一 ReduceFunction 总是在向窗口添加新记录时立即应用。当 Trigger Windows着火了。
WindowAssigner
Function
AggregateFunction
ProcessWindowFunction
ProcessFunction
Trigger
2条答案
按热度按时间omvjsjqw1#
触发器仅适用于windows。reducefunction不需要触发器,它是一个转换操作,调用
processElement()
在每个新元素上。简而言之:
ReduceFunction
每个元素的触发器(类似于onElement()
窗口触发器)。WindowFunction
按时触发(默认情况下)(事件、处理或摄取)。但是在这方面它是灵活的,并且接受自定义触发器。有关触发器的更多信息:
https://ci.apache.org/projects/flink/flink-docs-master/dev/stream/operators/windows.html#triggers
默认减少实现:
https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/operators/streamgroupedreduce.java
hujrc8aj2#
没有“reducefunction触发器”或“windowfunction触发器”,因为触发器和函数是正交的。在flink中,窗口操作至少由三部分组成:
WindowAssigner
:窗口分配程序决定将其分配到的每个记录的窗口。Function
:窗口的功能处理分配给窗口的记录。函数可以是ReduceFunction
,AggregateFunction
,WindowFunction
,或ProcessWindowFunction
.ReduceFunction
以及AggregateFunction
可以在收到所有记录之前立即应用。这是有益的,因为以这种方式可以显著减少窗口状态下要存储的数据量。WindowFunction
以及ProcessWindowFunction
处理窗口收集的所有记录。也可以组合一个函数(ReduceFunction
,AggregateFunction
)还有一个完整的窗口功能(WindowFunction
,ProcessFunction
). 在这种情况下,记录被急切地聚合,并且急切的聚合结果最终被提供给full window函数。Trigger
:一个Trigger
决定何时从窗口操作发出结果和/或放弃窗口操作的状态。一
ReduceFunction
总是在向窗口添加新记录时立即应用。当Trigger
Windows着火了。