成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Apache Flink 漫談系列 - 時間

原創
開發
本篇介紹了Apache Flink的內部的時間概念。

圖片

Apache Flink 為什么需要時間

Apache Flink 在進行Streaming計算時為什么需要時間?回答這個問題我們先看看Streaming和Batch的一個明顯區別,即 從數據集的角度看,Streaming是一個Unbounded的數據集,Batch是一個Bounded的數據集。那么我們如何對一個UnBounded的數據集上面進行計算呢?我們總不能等數據都流完在計算結果吧?當然不能,因為流是UnBounded的,永遠沒有結束。那怎么辦?業界一個通用的解決手段就是Window機制。將Streaming的數據看做是一系列的events,每一個event都是一條Streaming數據記錄,都有自己產生的時間,也有在Streaming的算子處理的時間,那么Window就可以根據event產生時間或者event被處理的時間進行分組。所以 Time 是Steaming計算必不可少的數據屬性。

在大多數Streaming處理場景中,Event的順序很重要,并且通常Event到達數據處理算子的順序與這些Event在現實世界中實際發生的時間不同。那么記錄Event在設備中產生的時間將為在Apache Flink中如實的按照Event的產生時間的順序進行數據處理提供了機會。

圖片

時間類型

如上圖所示按照Event的產生時間、進入Apache Flink系統時間和被處理的時間三個時間點劃分,在Blink系統中同一個時間或者說是數據流上的數據可以有的時間屬性有三種:

  • Event Time
  • Ingestion Time
  • Processing Time

Event Time

Event Time 是每個Event在其生產設備上發生的時間。這段時間通常嵌入記錄中,然后進入Apache Flink,并且可以從記錄中提取事件時間戳。

Event Time即使在無序事件,延遲事件或從備份或持久性日志中重放數據時,也能提供正確的結果。在Streaming數據處理期間,時間的進度取決于數據,而不是掛在任何系統時鐘上。后續章節要介紹的Watermark就是基于Event Time產生的,Apache Flink系統正是利用Event Time和Watermark機制處理數據亂序問題的(后續章節會詳細介紹).

Processing Time

Processing Time 是指執行相應操作的機器的系統時間。

當Streaming計算基于Processing Time時候,所有基于時間的操作(如Time Window)將使用運行相應算子的機器的系統時鐘。

Processing Time是最簡單的時間概念,它提供了最佳的性能和最低的延遲。然而,在分布式和異步環境中,Processing Time并不能提供確定性,因為它容易受到Event到達系統的速度(例如來自消息隊列)以及記錄在Apache Flink系統內部的處理先后順序的影響.

Ingestion Time

Ingestion time是事件進入Apache Flink的時間。在Source算子處產生,每個記錄都將源的當前時間作為時間戳記,而基于時間的算子(如Time Window)會引用該時間戳記。

Ingestion Time在概念上位于Event Time和Processing Time之間。

Ingestion Time與Processing Time相比,它的成本稍高一些,但可提供更可預測的結果:由于攝取時間使用穩定的時間戳(在源處分配一次),不受系統內部處理Event的先后順序和數據傳輸的延時所影響.

Ingestion Time與Event Time相比,Ingestion Time方式無法處理任何亂序事件或遲后數據,Ingestion Time 在Apache Flink內部機制上與Event Time非常相似,具有自動時間戳分配和自動水印生成功能。

Apache Flink 目前使用的時間

目前Apache Flink SQL 層面向用戶開發的時間類型是 Event Time和Processing Time.

小結

本篇介紹了Apache Flink的內部的時間概念,在Apache Flink內部有Event Time , Processing Time和Ingestion time三種時間類型,目前向用戶開放的是Event Time和Processing Time 兩種。時間在Streaming計算中至關重要,時間是數據分組的主要依據,時間也是Streaming計算中處理數據延時和數據亂序的核心元素。

作者介紹

孫金城,51CTO社區編輯,Apache Flink PMC 成員,Apache Beam Committer,Apache IoTDB PMC 成員,ALC Beijing 成員,Apache ShenYu 導師,Apache 軟件基金會成員。關注技術領域流計算和時序數據存儲。

責任編輯:張燕妮 來源: 孫金城
相關推薦

2018-10-16 08:54:35

Apache Flin流計算State

2018-09-26 08:44:22

Apache Flin流計算計算模式

2018-09-26 07:50:52

Apache Flin流計算計算模式

2018-10-09 10:55:52

Apache FlinWatermark流計算

2022-07-13 12:53:59

數據存儲

2018-11-14 09:01:23

Apache FlinSQL代碼

2018-10-22 21:43:39

Apache Flin流計算Fault Toler

2018-11-29 09:01:26

Apache FlinJOIN代碼

2018-11-20 07:59:43

Apache Flin JOIN算子代碼

2022-07-13 13:03:29

流計算亂序

2018-12-11 17:28:22

Apache FlinJOIN代碼

2019-01-03 10:17:53

Apache FlinTable API代碼

2019-01-15 08:50:12

Apache FlinKafka分布式

2018-11-07 08:48:31

Apache Flin持續查詢流計算

2022-07-12 10:38:25

分布式框架

2018-10-30 14:08:45

Apache Flin流表對偶duality

2018-12-29 08:16:32

Apache FlinJOIN代碼

2020-04-09 11:08:30

PyFlinkJAR依賴

2018-10-30 11:10:05

Flink數據集計算

2018-11-14 13:49:16

Apache Flin唯品會架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品在线播放 | 精品国产91 | 91伊人网| 日韩欧美大片 | 在线观看亚洲 | 欧美中文字幕一区二区 | 一区二区在线 | 日韩在线视频一区 | 日韩精品免费在线观看 | 国产在线视频网 | 久久中文字幕av | 国产精品日产欧美久久久久 | 美女天天操 | 国产视频一区在线 | 欧美中文字幕 | 日韩三| 国产免费a视频 | 亚洲精品一区久久久久久 | 99久久久久久 | 特一级毛片| 国产亚洲精品精品国产亚洲综合 | 成人精品一区二区户外勾搭野战 | 一区二区三区视频播放 | 巨大荫蒂视频欧美另类大 | 精品99在线 | 在线视频国产一区 | 欧美日日 | 99re热这里只有精品视频 | 九色网址 | 亚洲精品乱码久久久久久9色 | 综合视频在线 | 久久久久av | 国产精品精品3d动漫 | 一区二区三区国产好 | 欧美精品一二区 | 在线成人一区 | 天天拍天天色 | 五月激情婷婷网 | 国产精品亚洲综合 | 中文视频在线 | 黄色在线免费观看 |