相同點:
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,注意看註釋: