五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

Flink全量聚合函數(shù):apply和process這兩種實現(xiàn)方法有什么區(qū)別?

2023-08-14 14:30 作者:ingemar-  | 我要投稿

指在窗口觸發(fā)的時候才會對窗口內(nèi)的所有數(shù)據(jù)進行一次計算(等窗口的數(shù)據(jù)到齊,才開始進行聚合計算,可實現(xiàn)對窗口內(nèi)的數(shù)據(jù)進行排序等需求)

實現(xiàn)方法

  • apply(windowFunction)

  • process(processWindowFunction)

apply和process的區(qū)別


apply和process都是處理全量計算,但工作中正常用process。

process更加底層,更加強大,有open/close生命周期方法,又可獲取RuntimeContext。


ProcessWindowFunction/ProcessAllWindowFunction


全量聚合:窗口需要維護全部原始數(shù)據(jù),窗口觸發(fā)進行全量聚合。

ProcessWindowFunction一次性迭代整個窗口里的所有元素,比較重要的一個對象是Context,可以獲取到事件和狀態(tài)信息,這樣我們就可以實現(xiàn)更加靈活的控制,這實際上是process的主要特點吧。該算子會浪費很多性能吧,主要原因是不增量計算,要緩存整個窗口然后再去處理,所以要設計好內(nèi)存。

牛叉的地方是ProcessWindowFunction可以結(jié)合 ReduceFunction, AggregateFunction,或者 FoldFunction來做增量計算(推薦用法)

請注意,使用ProcessWindowFunction諸如 count 之類的簡單聚合效率很低。


Flink全量聚合函數(shù):apply和process這兩種實現(xiàn)方法有什么區(qū)別?的評論 (共 條)

分享到微博請遵守國家法律
湘潭县| 鸡泽县| 扎兰屯市| 辽宁省| 河津市| 鞍山市| 同德县| 华亭县| 马龙县| 灵川县| 乐安县| 淮北市| 芮城县| 桓台县| 鄂托克旗| 韶关市| 建湖县| 曲阳县| 阿合奇县| 广汉市| 盱眙县| 南澳县| 洮南市| 兴海县| 饶阳县| 澄迈县| 锦州市| 全南县| 岢岚县| 鸡东县| 阿鲁科尔沁旗| 石首市| 上饶县| 遵义县| 长子县| 新巴尔虎左旗| 寿宁县| 柯坪县| 宜昌市| 定远县| 会理县|