国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Flink中的時間和窗口

這篇具有很好參考價值的文章主要介紹了Flink中的時間和窗口。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Flink中的時間和窗口

在傳統(tǒng)的批處理系統(tǒng)中,我們可以等到一批數據全部都到齊了之后,對其做相關的計算;但是在實時處理系統(tǒng)中,數據是源源不斷的,正常情況下,我們就得來一條處理一條。那么,我們應該如何統(tǒng)計某個實時數據源中最近一段時間內的數據呢?
在Flink的觀念中,引入了“窗口”的概念。所謂的“窗口”,一般就是劃定的一段時間范圍,也就是“時間窗”;對在這范圍內的數據進行處理,就是所謂的窗口計算。所以窗口和時間往往是分不開的。

一、窗口(Window)

1.正確的理解窗口

簡單來說,Flink是一個流式計算引擎,主要用來處理無界數據流的,數據源源不斷、無窮無盡,想要方便高效的處理這種無界數據流,一種方式就是將這種無界數據劃分為多個有界的"數據塊",這其實就是窗口(Window)。
Flink中的窗口并不是提前創(chuàng)建好了的,而是動態(tài)創(chuàng)建的,當有落在這個窗口區(qū)間范圍 的數據達到時,才創(chuàng)建對應的窗口。另外,這里我們認為到達窗口結束時間時,窗口就觸發(fā)計算并關閉,事實上“觸發(fā)計算”和“窗口關閉”兩個行為也可以分開。
Flink中的時間和窗口,# Flink,flink,大數據

2.窗口的分類

1)按照驅動類型分
窗口本身是截取有界數據的一種方式,所以窗口一個非常重要的信息其實就是“怎樣截取數據”。換句話說, 就是以什么標準來開始和結束數據的截取,我們把它叫作窗口的“驅動類型”。
(1)時間窗口(Time Window)
時間窗口以時間點來定義窗口的開始(start)和結束(end),所以截取出的就是某一時間段的數據。到達結束時間時,窗口不再收集數據,觸發(fā)計算輸出結果,并將窗口關閉銷毀。
(2)計數窗口(Count Window)
計數窗口基于元素的個數來截取數據,到達固定的個數時就觸發(fā)計算并關閉窗口。每個窗口截取數據的個數, 就是窗口的大小。
Flink中的時間和窗口,# Flink,flink,大數據
通過上面的圖我們可以看到,時間窗口的時間固定,計數窗口的計數固定。
其實,到這里,我們可以進一步正確的理解窗口,在Flink中,窗口其實并不是一個“框”,它更加像一個“桶”,在Flink中,窗口可以把流切割為有限大小的多個“存儲桶”(bucket),流中的每一個數據都會進入到對應的桶中,當窗口的結束時間到達時,就會關閉桶并且對桶中的數據進行收集計算,也就是所謂的窗口計算。
2)按照窗口分配數據的規(guī)則分類
根據分配數據的規(guī)則,窗口的具體實現可以分為 4 類:滾動窗口(Tumbling Window)、 滑動窗口(Sliding Window)、會話窗口(Session Window),以及全局窗口(Global Window)。
滾動窗口(Tumbling Window)
滾動窗口可以基于時間定義,也可以基于數據個數定義;需要的參數只有一個, 就 是 窗 口 的 大 小 ( window size)。比如我們可以定義一個長度為1小時的滾動時間窗口, 那么每個小時就會進行一次統(tǒng)計;或者定義一個長度為10的滾動計數窗口,就會每10個數進行一次統(tǒng)計。
可以看出,滾動窗口的應用非常廣泛,它可以對每個時間段的數據做統(tǒng)計計算。
Flink中的時間和窗口,# Flink,flink,大數據
滑動窗口(Sliding Window)
滑動窗口的大小也是固定的。但是窗口之間并不是首尾相接的,而是可以“錯開”一定的位置。 定義滑動窗口的參數有兩個:除去窗口大小(window size)之外,還有一個“滑動步長”(window slide), 它其實就代表了窗口計算的頻率。窗口在結束時間觸發(fā)計算輸出結果,那么滑動步長就代表了計算頻率。
當滑動步長小于窗口大小時,滑動窗口就會出現重疊, 這時數據也可能會被同時分配 到多個窗口中。而具體的個數, 就由窗口大小和滑動步長的比 值(size/slide)來決定。 滾動窗口也可以看作是一 種特殊的滑動窗口——窗口大小等于滑動步長(size = slide)。 滑動窗口適合計算結果更新 頻率非常高的場景。
相比滾動窗口而言,滾動窗口可以做每個時間段的計算,滑動窗口就更適合做最近一個時間段的計算。
Flink中的時間和窗口,# Flink,flink,大數據
會話窗口(Session Window)
會話窗口,是基于“會話”(session)來來對數據進行分組的。會話窗口只能基于時間來定義。 會話窗口中,最重要的參數就是會話的超時時間,也就是兩個會話窗口之間的最小距離。如果相鄰兩個數據到來的時間間隔(Gap)小于指定的大?。╯ize),那說明還在保持會話,它們就屬于同一個窗口;如果gap大于size, 那么新來的數據就應該屬于新的會話窗口,而前一個窗口就應該關閉了。
會話窗口的長度不固定, 起始和結束時間也是不確定 的,各個分區(qū)之間窗口沒有 任何關聯。會話窗口之間一 定是不會重疊的,而且會留 有至少為size的間隔(session gap)。在一些類似保持會話的場 景下,可以使用會話窗口來進 行數據的處理統(tǒng)計。
Flink中的時間和窗口,# Flink,flink,大數據
全局窗口(Global Windows)
“全局窗口”,這種窗口全局有效,會把相同key的所有數據都分配到同一個窗口中。這種窗口沒有結束的時候, 默認是不會做觸發(fā)計算的。如果希望它能對數據進行計算處理,還需要自定義“觸發(fā)器”(Trigger)。
全局窗口沒有結束的 時間點,所以一般在希望 做更加靈活的窗口處理時 自定義使用。Flink中的計數窗口(Count Window), 底層就是用全局窗口實現的。
Flink中的時間和窗口,# Flink,flink,大數據

二、時間語義

Flink中的時間和窗口,# Flink,flink,大數據
到底是以那種時間作為衡量標準,就是所謂的“時間語義”。
在實際應用中,事件時間語義會更為常見。一般情況下,業(yè)務日志數據中都會記錄數據生成的時間戳(timestamp),它就可以作為事件時間的判斷基礎。 在 Flink 中,由于處理時間比較簡單,早期版本默認的時間語義是處理時間;而考慮到事件時間在實際應用中更為廣泛,從 Flink1.12 版本開始,Flink 已經將事件時間作為默認的時間語義了。文章來源地址http://www.zghlxwxcb.cn/news/detail-719391.html

到了這里,關于Flink中的時間和窗口的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • flink時間窗口無新的數據進來最后一個窗口不關閉

    測試反饋, 配置的flink任務提交上去后, 輸入數據源符合條件,到時間窗口的size。最后一個窗口沒有閉窗計算,數據并沒及時輸出告警 經過調試發(fā)現,watermark沒有向后繼續(xù)推進,導致無法閉窗, watermark的時間取的是數據中的業(yè)務時間,create_time。 因為沒有后續(xù)數據進來,

    2024年02月13日
    瀏覽(23)
  • 《Flink學習筆記》——第六章 Flink的時間和窗口

    《Flink學習筆記》——第六章 Flink的時間和窗口

    6.1 時間語義 6.1.1 Flink中的時間語義 對于一臺機器而言,時間就是系統(tǒng)時間。但是Flink是一個分布式處理系統(tǒng),多臺機器“各自為政”,沒有統(tǒng)一的時鐘,各自有各自的系統(tǒng)時間。而對于并行的子任務來說,在不同的節(jié)點,系統(tǒng)時間就會有所差異。 我們知道一個集群有JobMana

    2024年02月11日
    瀏覽(18)
  • 玩轉數據-大數據-Flink SQL 中的時間屬性

    玩轉數據-大數據-Flink SQL 中的時間屬性

    時間屬性是大數據中的一個重要方面,像窗口(在 Table API 和 SQL )這種基于時間的操作,需要有時間信息。我們可以通過時間屬性來更加靈活高效地處理數據,下面我們通過處理時間和事件時間來探討一下Flink SQL 時間屬性。 2.1、準備WaterSensor類,方便使用 2.2、DataStream 到

    2024年02月07日
    瀏覽(25)
  • Flink-【時間語義、窗口、水位線】

    Flink-【時間語義、窗口、水位線】

    ??:可樂 可樂的生產日期?= 事件時間(可樂產生的時間); 可樂被喝的時間 = 處理時間(可樂被處理【喝掉=處理】的時間)。 機器時間:可能不準確(例如:A可樂廠的時鐘比較慢,B可樂廠的時鐘比較快,但實際上B產生可樂的時間比A產生可樂的時間慢,卻被先處理了)

    2024年02月01日
    瀏覽(20)
  • Flink--8、時間語義、水位線(事件和窗口、水位線和窗口的工作原理、生產水位線、水位線的傳遞、遲到數據的處理)

    Flink--8、時間語義、水位線(事件和窗口、水位線和窗口的工作原理、生產水位線、水位線的傳遞、遲到數據的處理)

    ?????????????????????? 星光下的趕路人star的個人主頁 ?????????????????????? 將自己生命力展開的人,他的存在,對別人就是愈療 1、從《星球大戰(zhàn)》說起 為了更加清晰地說明兩種語義的區(qū)別,我們來舉一個非常經典的例

    2024年02月07日
    瀏覽(23)
  • 【Apache Flink】基于時間和窗口的算子-配置時間特性

    【Apache Flink】基于時間和窗口的算子-配置時間特性

    Apache Flink 它提供了多種類型的時間和窗口概念,使得用戶能夠進行準確的時間計算。在數據處理任務中,時間的概念是非常重要的,對于一些復雜的實時流處理任務,如事件按時間順序的聚合、分割和窗口計算,時間更是關鍵所在。而在這類任務中,選擇使用何種時間特性是

    2024年02月08日
    瀏覽(16)
  • Flink中的窗口

    Flink中的窗口

    ??如下圖所示,在Flink中,窗口可以把流切割成有限大小的多個“存儲桶”(bucket);每個數據都會分發(fā)到對應的桶中,當到達窗口結束時間時,就對每個桶中收集的數據進行計算處理。 ??注意:Flink中窗口并不是靜態(tài)準備好的,而是動態(tài)創(chuàng)建——當有落在這個窗口區(qū)間

    2024年02月04日
    瀏覽(14)
  • 8 分鐘看完這 7000+ 字,Flink 時間窗口和時間語義這對好朋友你一定搞得懂!外送窗口計算和水印一并搞懂?。?!

    目錄 一、時間語義 時間窗口 1. 前摘: 1.1 Flink的時間和窗口 1.2 什么是時間窗口和時間語義呢? 2. 時間窗口 2.1 舉個例子: 2.2 3個實時數據計算場景 3. 時間語義 二、Flink上進行窗口計算: 1. 一個Flink窗口應用的大致骨架結構 2. Flink窗口的骨架結構中有兩個必須的兩個操作:

    2024年01月23日
    瀏覽(26)
  • [AIGC] 深入理解Flink中的窗口、水位線和定時器

    Apache Flink是一種流處理和批處理的混合引擎,它提供了一套豐富的APIs,以滿足不同的數據處理需求。在本文中,我們主要討論Flink中的三個核心機制:窗口(Windows)、水位線(Watermarks)和定時器(Timers)。 在流處理應用中,一種常見的需求是計算某個時間范圍內的數據,這

    2024年03月27日
    瀏覽(27)
  • 大數據-玩轉數據-Flink窗口函數

    前面指定了窗口的分配器, 接著我們需要來指定如何計算, 這事由window function來負責. 一旦窗口關閉, window function 去計算處理窗口中的每個元素. window function 可以是ReduceFunction,AggregateFunction,or ProcessWindowFunction中的任意一種. ReduceFunction,AggregateFunction更加高效, 原因就是Flink可以對

    2024年02月11日
    瀏覽(37)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包