相同点:
1 均是对相同类型的元素进行合并
2 均是把组内的所有元素合并成一个值
不同点:
1 reduce是组内的2个元素合并成一个同类型的新元素;fold是组内的每个元素与累加器(一开始是初始值initialValue)合并再返回累加器,累加器的类型可以与组内的元素类型不一致;
2 reduce可以用于DataStream或DataSet,但是fold只能用于DataStream。
以下是源码,flink1.9.2,注意看注释:
相同点:
1 均是对相同类型的元素进行合并
2 均是把组内的所有元素合并成一个值
不同点:
1 reduce是组内的2个元素合并成一个同类型的新元素;fold是组内的每个元素与累加器(一开始是初始值initialValue)合并再返回累加器,累加器的类型可以与组内的元素类型不一致;
2 reduce可以用于DataStream或DataSet,但是fold只能用于DataStream。
以下是源码,flink1.9.2,注意看注释: