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

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

Flink 為什么需要窗口(Window)?

2023-07-25 10:19 作者:ingemar-  | 我要投稿

Flink 認(rèn)為?Batch 是 Streaming 的一個(gè)特例,所以 Flink 底層引擎是一個(gè)流式引擎,在上面實(shí)現(xiàn)了流處理和批處理。而窗口(window)就是從 Streaming 到 Batch 的一個(gè)橋梁。Flink 提供了非常完善的窗口機(jī)制


1 為什么需要Window


在流處理應(yīng)用中,數(shù)據(jù)是連續(xù)不斷的,有時(shí)我們需要做一些聚合類的處理,例如:在過(guò)去的1分鐘內(nèi)有多少用戶點(diǎn)擊了我們的網(wǎng)頁(yè)。

在這種情況下,我們必須定義一個(gè)窗口(window),用來(lái)收集最近1分鐘內(nèi)的數(shù)據(jù),并對(duì)這個(gè)窗口內(nèi)的數(shù)據(jù)進(jìn)行計(jì)算。

Windows 是處理無(wú)限流的核心。Windows 將流拆分為有限大小的“”,我們可以對(duì)其進(jìn)行計(jì)算。


2 Flink窗口應(yīng)用代碼結(jié)構(gòu)


Flink的窗口算子為我們提供了方便易用的API,我們可以將數(shù)據(jù)流切分成一個(gè)個(gè)窗口,對(duì)窗口內(nèi)的數(shù)據(jù)進(jìn)行處理。本文將介紹如何在Flink上進(jìn)行窗口的計(jì)算。

一個(gè)Flink窗口應(yīng)用的大致骨架結(jié)構(gòu)如下所示:

Keyed Window

Non-Keyed Window

在上面,方括號(hào) ([…]) 中的命令是可選的。這表明 Flink 允許您以多種不同的方式自定義窗口邏輯,使其最適合您的需求。

首先:我們要決定是否對(duì)一個(gè)DataStream按照Key進(jìn)行分組,這一步必須在窗口計(jì)算之前進(jìn)行。經(jīng)過(guò)keyBy的數(shù)據(jù)流將形成多組數(shù)據(jù),下游算子的多個(gè)實(shí)例可以并行計(jì)算。windowAll不對(duì)數(shù)據(jù)流進(jìn)行分組,所有數(shù)據(jù)將發(fā)送到下游算子單個(gè)實(shí)例上。決定是否分組之后,窗口的后續(xù)操作基本相同,經(jīng)過(guò)windowAll的算子是不分組的窗口(Non-Keyed Window),它們的原理和操作與Keyed Window類似,唯一的區(qū)別在于所有數(shù)據(jù)將發(fā)送給下游的單個(gè)實(shí)例,或者說(shuō)下游算子的并行度為1。


Flink 為什么需要窗口(Window)?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
东乌| 长宁区| 庆元县| 武乡县| 大安市| 绥中县| 吴桥县| 海晏县| 玉门市| 习水县| 隆昌县| 中方县| 锡林浩特市| 鹿邑县| 江陵县| 玉溪市| 吴川市| 卢湾区| 安乡县| 芦溪县| 嘉义县| 吉首市| 鄂伦春自治旗| 龙川县| 册亨县| 周宁县| 彭水| 陆丰市| 苏尼特左旗| 东乡县| 祁东县| 微博| 南阳市| 吉木乃县| 始兴县| 岫岩| 灵台县| 大洼县| 商城县| 龙陵县| 邯郸县|