无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Flink增量聚合函數(shù):reduce和aggregate的區(qū)別是什么?

2023-08-11 11:41 作者:ingemar-  | 我要投稿

窗口函數(shù),即數(shù)據(jù)劃分窗口后可以調(diào)用的處理函數(shù)。

  • 全量函數(shù):窗口先緩存所有元素,等到觸發(fā)條件后對窗口內(nèi)的全量元素執(zhí)行計算。

  • 增量函數(shù):窗口保存一份中間數(shù)據(jù),每流入一個新元素,新元素與中間數(shù)據(jù)兩兩合一,生成新的中間數(shù)據(jù)。


增量聚合函數(shù)


指窗口每進入一條數(shù)據(jù)就計算一次

實現(xiàn)方法(常見的增量聚合函數(shù)如下):

  • reduce(reduceFunction)

  • aggregate(aggregateFunction)

  • sum()

  • min()

  • max()


reduce和aggregate的區(qū)別


reduce接受兩個相同類型的輸入,生成一個同類型輸出,所以泛型就一個 <T>

maxBy、minBy、sum這3個底層都是由reduce實現(xiàn)的

aggregate的輸入值、中間結(jié)果值、輸出值它們3個類型可以各不相同,泛型有<T, ACC, R>


ReduceFunction


ReduceFunction定義了如何把兩個輸入的元素進行合并來生成相同類型的輸出元素的過程,F(xiàn)link使用ReduceFunction來對窗口中的元素進行增量聚合


AggregateFunction


AggregateFunction 比 ReduceFunction 更加的通用,它有三個參數(shù):輸入類型(IN)、累加器類型(ACC)和輸出類型(OUT)。

輸入類型是輸入流中的元素類型,AggregateFunction有一個add方法可以將一個輸入元素添加到一個累加器中。該接口還具有創(chuàng)建初始累加器(createAccumulator方法)、將兩個累加器合并到一個累加器(merge方法)以及從累加器中提取輸出(類型為OUT)的方法。


Flink增量聚合函數(shù):reduce和aggregate的區(qū)別是什么?的評論 (共 條)

分享到微博請遵守國家法律
湘潭市| 明水县| 华宁县| 汾西县| 肥西县| 大石桥市| 治多县| 黎平县| 屏东市| 宕昌县| 正镶白旗| 乌鲁木齐市| 甘泉县| 苏尼特左旗| 虎林市| 武威市| 内乡县| 黄平县| 雷波县| 博白县| 云阳县| 桐梓县| 思南县| 阳城县| 威宁| 石林| 吉木萨尔县| 津市市| 汉阴县| 开封县| 湄潭县| 彭山县| 台中市| 宁阳县| 青川县| 临潭县| 犍为县| 曲水县| 噶尔县| 伊宁市| 武邑县|