flink迭代机制
- Iterate: 普通迭代 ,实现逻辑在Step 函数中, Step的输入是初始的整个数据集, 或者是上一轮迭代的结果。Step函数包含 map、reduce,join等运算组成。例子: 输入为1到5的数字, Step函数为 output = input.map(_ + 1), 迭代终止条件为迭代10次, 那么最后输出结果为11到15的数字
- Delta Iterate:增量迭代,它有2个输入,其中一个是初始Workset,表示输入待处理的增量Stream数据,另一个是初始Solution Set,它是经过Stream方向上Operator处理过的结果。第一轮迭代会将Step函数作用在初始Workset上,得到的计算结果Workset作为下一轮迭代的输入,同时还要增量更新初始Solution Set。如果反复迭代知道满足迭代终止条件,最后会根据Solution Set的结果,输出最终迭代结果。
原文地址:https://www.cnblogs.com/bregman/p/10178539.html
时间: 2024-10-17 14:32:41