精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Flink 1.11.0 發(fā)布,有哪些值得關(guān)注的新特性?

開發(fā) 開發(fā)工具
7 月 7 日,F(xiàn)link 1.11.0 正式發(fā)布。歷時近 4 個月,F(xiàn)link 在生態(tài)、易用性、生產(chǎn)可用性、穩(wěn)定性等方面都進行了增強和改善。

[[333554]]

7 月 7 日,F(xiàn)link 1.11.0 正式發(fā)布。歷時近 4 個月,F(xiàn)link 在生態(tài)、易用性、生產(chǎn)可用性、穩(wěn)定性等方面都進行了增強和改善。Apache Flink PMC、阿里巴巴高級技術(shù)專家王治江,同時也是這個版本的 release manager 之一,將和大家一一分享,并深度剖析 Flink 1.11.0 帶來了哪些讓大家期待已久的特性,對一些有代表性的 feature 從不同維度解讀。

在進入深度解讀前,我們先簡單了解下社區(qū)發(fā)布的一般流程,幫助大家更好的理解和參與 Flink 社區(qū)的工作。

首先在每個版本的規(guī)劃初期,會從志愿者中選出 1-2 名作為 release manager。1.11.0 版本我作為中國這邊的 release manager,同時還有一名來自 Ververica 的 Piotr Nowojski 作為德國方的 release manager,這在某種程度上也說明中國的開發(fā)者和貢獻度在整個社區(qū)的占比很重要。

接下來會進行這個版本的 feature kickoff。在一些大的方向上,社區(qū)的規(guī)劃周期可能比較久,會分階段、分步驟跨越多個版本完成,確保質(zhì)量。每個版本的側(cè)重點也會有所不同,比如前兩個版本側(cè)重于批處理的加強,而這個版本更側(cè)重于流處理易用性的提升。社區(qū)規(guī)劃的 feature 列表會在郵件列表中發(fā)起討論,以收集更多的用戶/開發(fā)者意見和反饋。

一般的開發(fā)周期為 2-3 個月時間,提前會明確規(guī)劃出大概的 feature freeze 時間,之后進行 release candidate 的發(fā)布和測試、以及 bug fix。一般經(jīng)過幾輪的迭代周期后會正式投票通過一個相對穩(wěn)定的 candidate 版本,然后基于這個版本正式發(fā)布。

Flink 1.11.0 從 3 月初的功能規(guī)劃到 7 月初的正式發(fā)布,歷經(jīng)了差不多 4 個月的時間,對 Flink 的生態(tài)、易用性、生產(chǎn)可用性、穩(wěn)定性等方面都進行了增強和改善,下面將一一跟大家分享。

一 綜述

Flink 1.11.0 從 feature 凍結(jié)后發(fā)布了 4 次 candidate 才最終通過。經(jīng)統(tǒng)計,一共有 236 個貢獻者參與了這次版本開發(fā),解決了 1474 個 jira 問題,涉及 30 多個 FLIP,提交了 2325 個 commit。

 

縱觀近五次版本發(fā)布,可以看出從 1.9.0 開始 Flink 進入了一個快速發(fā)展階段,各個維度指標相比之前都有了幾乎翻倍的提高。也是從 1.9.0 開始阿里巴巴內(nèi)部的 Blink 項目開始被開源 Flink 整合,到 1.10.0 經(jīng)過兩個大版本已經(jīng)全部整合完畢,對 Flink 從生態(tài)建設(shè)、功能性、性能和生產(chǎn)穩(wěn)定性上都有了大幅的增強。

Flink 1.11.0 版本的最初定位是重點解決易用性問題,提升用戶業(yè)務(wù)的生產(chǎn)使用體驗,整體上不做大的架構(gòu)調(diào)整和功能開發(fā),傾向于快速迭代的小版本開發(fā)。但是從上面統(tǒng)計的各個指標來看,所謂的“小版本”在各個維度的數(shù)據(jù)也絲毫不遜色于前兩個大版本,解決問題的數(shù)量和參與的貢獻者人數(shù)也在持續(xù)增加,其中來自中國的貢獻者比例達到 62%。

下面我們會深度剖析 Flink 1.11.0 帶來了哪些讓大家期待已久的特性,從用戶直接使用的 API 層一直到執(zhí)行引擎層,我們都會選擇一些有代表性的 feature 從不同維度解讀,更完整的 feature 列表請大家關(guān)注發(fā)布的 release blog。

二 生態(tài)完善和易用性提升

這兩個維度在某種程度上是相輔相成的,很難嚴格區(qū)分開,生態(tài)兼容上的缺失常常造成使用上的不便,提升易用性的過程往往也是不斷完善相關(guān)生態(tài)的過程。在這方面用戶感知最明顯的應(yīng)該就是 Table & SQL API 層面的使用。

1 Table & SQL 支持 Change Data Capture(CDC)

CDC 被廣泛使用在復制數(shù)據(jù)、更新緩存、微服務(wù)間同步數(shù)據(jù)、審計日志等場景,很多公司都在使用開源的 CDC 工具,如 MySQL CDC。通過 Flink 支持在 Table & SQL 中接入和解析 CDC 是一個強需求,在過往的很多討論中都被提及過,可以幫助用戶以實時的方式處理 changelog 流,進一步擴展 Flink 的應(yīng)用場景,例如把 MySQL 中的數(shù)據(jù)同步到 PG 或 ElasticSearch 中,低延時的 temporal join 一個 changelog 等。

除了考慮到上面的真實需求,F(xiàn)link 中定義的“Dynamic Table”概念在流上有兩種模型:append 模式和 update 模式。通過 append 模式把流轉(zhuǎn)化為“Dynamic Table”在之前的版本中已經(jīng)支持,因此在 1.11.0 中進一步支持 update 模式也從概念層面完整的實現(xiàn)了“Dynamic Table”。

 

為了支持解析和輸出 changelog,如何在外部系統(tǒng)和 Flink 系統(tǒng)之間編解碼這些更新操作是首要解決的問題。考慮到 source 和 sink 是銜接外部系統(tǒng)的一個橋梁,因此 FLIP-95 在定義全新的 Table source 和 Table sink 接口時解決了這個問題。

在公開的 CDC 調(diào)研報告中,Debezium 和 Canal 是用戶中最流行使用的 CDC 工具,這兩種工具用來同步 changelog 到其它的系統(tǒng)中,如消息隊列。據(jù)此,F(xiàn)LIP-105 首先支持了 Debezium 和 Canal 這兩種格式,而且 Kafka source 也已經(jīng)可以支持解析上述格式并輸出更新事件,在后續(xù)的版本中會進一步支持 Avro(Debezium) 和 Protobuf(Canal)。

  1. CREATE TABLE my_table (   
  2. ...) WITH (   
  3. 'connector'='...'-- e.g. 'kafka'   
  4. 'format'='debezium-json',   
  5. 'debezium-json.schema-include'='true' -- default: false (Debezium can be configured to include or exclude the message schema)   
  6. 'debezium-json.ignore-parse-errors'='true' -- default: false 
  7. ); 

2 Table & SQL 支持 JDBC Catalog

1.11.0 之前,用戶如果依賴 Flink 的 source/sink 讀寫關(guān)系型數(shù)據(jù)庫或讀取 changelog 時,必須要手動創(chuàng)建對應(yīng)的 schema。而且當數(shù)據(jù)庫中的 schema 發(fā)生變化時,也需要手動更新對應(yīng)的 Flink 作業(yè)以保持一致和類型匹配,任何不匹配都會造成運行時報錯使作業(yè)失敗。用戶經(jīng)常抱怨這個看似冗余且繁瑣的流程,體驗極差。

實際上對于任何和 Flink 連接的外部系統(tǒng)都可能有類似的上述問題,在 1.11.0 中重點解決了和關(guān)系型數(shù)據(jù)庫對接的這個問題。FLIP-93 提供了 JDBC catalog 的基礎(chǔ)接口以及 Postgres catalog 的實現(xiàn),這樣方便后續(xù)實現(xiàn)與其它類型的關(guān)系型數(shù)據(jù)庫的對接。

1.11.0 版本后,用戶使用 Flink SQL 時可以自動獲取表的 schema 而不再需要輸入 DDL。除此之外,任何 schema 不匹配的錯誤都會在編譯階段提前進行檢查報錯,避免了之前運行時報錯造成的作業(yè)失敗。這是提升易用性和用戶體驗的一個典型例子。

3 Hive 實時數(shù)倉

從 1.9.0 版本開始 Flink 從生態(tài)角度致力于集成 Hive,目標打造批流一體的 Hive 數(shù)倉。經(jīng)過前兩個版本的迭代,已經(jīng)達到了 batch 兼容且生產(chǎn)可用,在 TPC-DS 10T benchmark 下性能達到 Hive 3.0 的 7 倍以上。

1.11.0 在 Hive 生態(tài)中重點實現(xiàn)了實時數(shù)倉方案,改善了端到端流式 ETL 的用戶體驗,達到了批流一體 Hive 數(shù)倉的目標。同時在兼容性、性能、易用性方面也進一步進行了加強。

在實時數(shù)倉的解決方案中,憑借 Flink 的流式處理優(yōu)勢做到實時讀寫 Hive:

  • Hive 寫入:FLIP-115 完善擴展了 FileSystem connector 的基礎(chǔ)能力和實現(xiàn),Table/SQL 層的 sink 可以支持各種格式(CSV、Json、Avro、Parquet、ORC),而且支持 Hive table 的所有格式。
  • Partition 支持:數(shù)據(jù)導入 Hive 引入 partition 提交機制來控制可見性,通過sink.partition-commit.trigger 控制 partition 提交的時機,通過 sink.partition-commit.policy.kind 選擇提交策略,支持 SUCCESS 文件和 metastore 提交。
  • Hive 讀取:實時化的流式讀取 Hive,通過監(jiān)控 partition 生成增量讀取新 partition,或者監(jiān)控文件夾內(nèi)新文件生成來增量讀取新文件。

在 Hive 可用性方面的提升:

  • FLIP-123 通過 Hive Dialect 為用戶提供語法兼容,這樣用戶無需在 Flink 和 Hive 的 CLI 之間切換,可以直接遷移 Hive 腳本到 Flink 中執(zhí)行。
  • 提供 Hive 相關(guān)依賴的內(nèi)置支持,避免用戶自己下載所需的相關(guān)依賴。現(xiàn)在只需要單獨下載一個包,配置 HADOOP_CLASSPATH 就可以運行。

在 Hive 性能方面,1.10.0 中已經(jīng)支持了 ORC(Hive 2+)的向量化讀取,1.11.0 中我們補全了所有版本的 Parquet 和 ORC 向量化支持來提升性能。

3 全新 Source API

前面也提到過,source 和 sink 是 Flink 對接外部系統(tǒng)的一個橋梁,對于完善生態(tài)、可用性及端到端的用戶體驗是很重要的環(huán)節(jié)。社區(qū)早在一年前就已經(jīng)規(guī)劃了 source 端的徹底重構(gòu),從 FLIP-27 的 ID 就可以看出是很早的一個 feature。但是由于涉及到很多復雜的內(nèi)部機制和考慮到各種 source connector 的實現(xiàn),設(shè)計上需要考慮的很全面。從 1.10.0 就開始做 POC 的實現(xiàn),最終趕上了 1.11.0 版本的發(fā)布。

先簡要回顧下 source 之前的主要問題:

  • 對用戶而言,在 Flink 中改造已有的 source 或者重新實現(xiàn)一個生產(chǎn)級的 source connector 不是一件容易的事情,具體體現(xiàn)在沒有公共的代碼可以復用,而且需要理解很多 Flink 內(nèi)部細節(jié)以及實現(xiàn)具體的 event time 分配、watermark 產(chǎn)出、idleness 監(jiān)測、線程模型等。
  • 批和流的場景需要實現(xiàn)不同的 source。
  • partitions/splits/shards 概念在接口中沒有顯式表達,比如 split 的發(fā)現(xiàn)邏輯和數(shù)據(jù)消費都耦合在 source function 的實現(xiàn)中,這樣在實現(xiàn) Kafka 或 Kinesis 類型的 source 時增加了復雜性。
  • 在 runtime 執(zhí)行層,checkpoint 鎖被 source function 搶占會帶來一系列問題,框架很難進行優(yōu)化。

FLIP-27 在設(shè)計時充分考慮了上述的痛點:

 

  • 首先在 Job Manager 和 Task Manager 中分別引入兩種不同的組件 Split Enumerator 和 Source reader,解耦 split 發(fā)現(xiàn)和對應(yīng)的消費處理,同時方便隨意組合不同的策略。比如現(xiàn)有的 Kafka connector 中有多種不同的 partition 發(fā)現(xiàn)策略和實現(xiàn)耦合在一起,在新的架構(gòu)下,我們只需要實現(xiàn)一種 source reader,就可以適配多種 split enumerator 的實現(xiàn)來對應(yīng)不同的 partition 發(fā)現(xiàn)策略。
  • 在新架構(gòu)下實現(xiàn)的 source connector 可以做到批流統(tǒng)一,唯一的小區(qū)別是對批場景的有限輸入,split enumerator 會產(chǎn)出固定數(shù)量的 split 集合并且每個 split 都是有限數(shù)據(jù)集;對于流場景的無限輸入,split enumerator 要么產(chǎn)出無限多的 split 或者 split 自身是無限數(shù)據(jù)集。
  • 復雜的 timestamp assigner 以及 watermark generator 透明的內(nèi)置在 source reader 模塊內(nèi)運行,對用戶來說是無感知的。這樣用戶如果想實現(xiàn)新的 source connector,一般不再需要重復實現(xiàn)這部分功能。

目前 Flink 已有的 source connector 會在后續(xù)的版本中基于新架構(gòu)來重新實現(xiàn),legacy source 也會繼續(xù)維護幾個版本保持兼容性,用戶也可以按照 release 文檔中的說明來嘗試體驗新 source 的開發(fā)。

4 PyFlink 生態(tài)

眾所周知,Python 語言在機器學習和數(shù)據(jù)分析領(lǐng)域有著廣泛的使用。Flink 從 1.9.0 版本開始發(fā)力兼容 Python 生態(tài),Python 和 Flink 合力為 PyFlink,把 Flink 的實時分布式處理能力輸出給 Python 用戶。前兩個版本 PyFlink 已經(jīng)支持了 Python Table API 和 UDF,在 1.11.0 中擴大對 Python 生態(tài)庫 Pandas 的支持以及和 SQL DDL/Client 的集成,同時 Python UDF 性能有了極大的提升。

具體來說,之前普通的 Python UDF 每次調(diào)用只能處理一條數(shù)據(jù),而且在 Java 端和 Python 端都需要序列化/反序列化,開銷很大。1.11.0 中 Flink 支持在 Table & SQL 作業(yè)中自定義和使用向量化 Python UDF,用戶只需要在 UDF 修飾中額外增加一個參數(shù) udf_type=“pandas” 即可。這樣帶來的好處是:

  • 每次調(diào)用可以處理 N 條數(shù)據(jù)。
  • 數(shù)據(jù)格式基于 Apache Arrow,大大降低了 Java、Python 進程之間的序列化/反序列化開銷。
  • 方便 Python 用戶基于 Numpy 和 Pandas 等數(shù)據(jù)分析領(lǐng)域常用的 Python 庫,開發(fā)高性能的 Python UDF。

除此之外,1.11.0 中 PyFlink 還支持:

  • PyFlink table 和 Pandas DataFrame 之間無縫切換(FLIP-120),增強 Pandas 生態(tài)的易用性和兼容性。
  • Table & SQL 中可以定義和使用 Python UDTF(FLINK-14500),不再必需 Java/Scala UDTF。
  • Cython 優(yōu)化 Python UDF 的性能(FLIP-121),對比 1.10.0 可以提升 30 倍。
  • Python UDF 中用戶自定義 metric(FLIP-112),方便監(jiān)控和調(diào)試 UDF 的執(zhí)行。

上述解讀的都是側(cè)重 API 層面,用戶開發(fā)作業(yè)可以直接感知到的易用性的提升。下面我們看看執(zhí)行引擎層在 1.11.0 中都有哪些值得關(guān)注的變化。

三 生產(chǎn)可用性和穩(wěn)定性提升

1 支持 application 模式和 Kubernetes 增強

1.11.0 版本前,F(xiàn)link 主要支持如下兩種模式運行:

  • Session 模式:提前啟動一個集群,所有作業(yè)都共享這個集群的資源運行。優(yōu)勢是避免每個作業(yè)單獨啟動集群帶來的額外開銷,缺點是隔離性稍差。如果一個作業(yè)把某個 Task Manager(TM)容器搞掛,會導致這個容器內(nèi)的所有作業(yè)都跟著重啟。雖然每個作業(yè)有自己獨立的 Job Manager(JM)來管理,但是這些 JM 都運行在一個進程中,容易帶來負載上的瓶頸。
  • Per-job 模式:為了解決 session 模式隔離性差的問題,每個作業(yè)根據(jù)資源需求啟動獨立的集群,每個作業(yè)的 JM 也是運行在獨立的進程中,負載相對小很多。

以上兩種模式的共同問題是需要在客戶端執(zhí)行用戶代碼,編譯生成對應(yīng)的 Job Graph 提交到集群運行。在這個過程需要下載相關(guān) jar 包并上傳到集群,客戶端和網(wǎng)絡(luò)負載壓力容易成為瓶頸,尤其當一個客戶端被多個用戶共享使用。

1.11.0 中引入了 application 模式(FLIP-85)來解決上述問題,按照 application 粒度來啟動一個集群,屬于這個 application 的所有 job 在這個集群中運行。核心是 Job Graph 的生成以及作業(yè)的提交不在客戶端執(zhí)行,而是轉(zhuǎn)移到 JM 端執(zhí)行,這樣網(wǎng)絡(luò)下載上傳的負載也會分散到集群中,不再有上述 client 單點上的瓶頸。

用戶可以通過 bin/flink run-application 來使用 application 模式,目前 Yarn 和 Kubernetes(K8s)都已經(jīng)支持這種模式。Yarn application 會在客戶端將運行作業(yè)需要的依賴都通過 Yarn Local Resource 傳遞到 JM。K8s application 允許用戶構(gòu)建包含用戶 jar 與依賴的鏡像,同時會根據(jù)作業(yè)自動創(chuàng)建 TM,并在結(jié)束后銷毀整個集群,相比 session 模式具有更好的隔離性。K8s 不再有嚴格意義上的 per-job 模式,application 模式相當于 per-job 在集群進行提交作業(yè)的實現(xiàn)。

除了支持 application 模式,F(xiàn)link 原生 K8s 在 1.11.0 中還完善了很多基礎(chǔ)的功能特性(FLINK-14460),以達到生產(chǎn)可用性的標準。例如 Node Selector、Label、Annotation、Toleration 等。為了更方便的與 Hadoop 集成,也支持根據(jù)環(huán)境變量自動掛載 Hadoop 配置的功能。

2 Checkpoint & Savepoint 優(yōu)化

checkpoint 和 savepoint 機制一直是 Flink 保持先進性的核心競爭力之一,社區(qū)在這個領(lǐng)域的改動很謹慎,最近的幾個大版本中幾乎沒有大的功能和架構(gòu)上的調(diào)整。在用戶郵件列表中,我們經(jīng)常能看到用戶反饋和抱怨的相關(guān)問題:比如 checkpoint 長時間做不出來失敗,savepoint 在作業(yè)重啟后不可用等等。1.11.0 有選擇的解決了一些這方面的常見問題,提高生產(chǎn)可用性和穩(wěn)定性。

1.11.0 之前, savepoint 中 meta 數(shù)據(jù)和 state 數(shù)據(jù)分別保存在兩個不同的目錄中,這樣如果想遷移 state 目錄很難識別這種映射關(guān)系,也可能導致目錄被誤刪除,對于目錄清理也同樣有麻煩。1.11.0 把兩部分數(shù)據(jù)整合到一個目錄下,這樣方便整體轉(zhuǎn)移和復用。另外,之前 meta 引用 state 采用的是絕對路徑,這樣 state 目錄遷移后路徑發(fā)生變化也不可用,1.11.0 把 state 引用改成了相對路徑解決了這個問題(FLINK-5763),這樣 savepoint 的管理維護、復用更加靈活方便。

實際生產(chǎn)環(huán)境中,用戶經(jīng)常遭遇 checkpoint 超時失敗、長時間不能完成帶來的困擾。一旦作業(yè) failover 會造成回放大量的歷史數(shù)據(jù),作業(yè)長時間沒有進度,端到端的延遲增加。1.11.0 從不同維度對 checkpoint 的優(yōu)化和提速做了改進,目標實現(xiàn)分鐘甚至秒級的輕量型 checkpoint。

首先,增加了 Checkpoint Coordinator 通知 task 取消 checkpoint 的機制(FLINK-8871),這樣避免 task 端還在執(zhí)行已經(jīng)取消的 checkpoint 而對系統(tǒng)帶來不必要的壓力。同時 task 端放棄已經(jīng)取消的 checkpoint,可以更快的參與執(zhí)行 coordinator 新觸發(fā)的 checkpoint,某種程度上也可以避免新 checkpoint 再次執(zhí)行超時而失敗。這個優(yōu)化也對后面默認開啟 local recovery 提供了便利,task 端可以及時清理失效 checkpoint 的資源。

其次,在反壓場景下,整個數(shù)據(jù)鏈路堆積了大量 buffer,導致 checkpoint barrier 排在數(shù)據(jù) buffer 后面,不能被 task 及時處理對齊,也就導致了 checkpoint 長時間不能執(zhí)行。1.11.0 中從兩個維度對這個問題進行解決:

1)嘗試減少數(shù)據(jù)鏈路中的 buffer 總量(FLINK-16428),這樣 checkpoint barrier 可以盡快被處理對齊。

  • 上游輸出端控制單個 sub partition 堆積 buffer 的最大閾值(backlog),避免負載不均場景下單個鏈路上堆積大量 buffer。
  • 在不影響網(wǎng)絡(luò)吞吐性能的情況下合理修改上下游默認的 buffer 配置。
  • 上下游數(shù)據(jù)傳輸?shù)幕A(chǔ)協(xié)議進行了調(diào)整,允許單個數(shù)據(jù)鏈路可以配置 0 個獨占 buffer 而不死鎖,這樣總的 buffer 數(shù)量和作業(yè)并發(fā)規(guī)模解耦。根據(jù)實際需求在吞吐性能和 checkpoint 速度兩者之間權(quán)衡,自定義 buffer 配比。

這個優(yōu)化有一部分工作已經(jīng)在 1.11.0 中完成,剩余部分會在下個版本繼續(xù)推進完成。

2)實現(xiàn)了全新的 unaligned checkpoint 機制(FLIP-76)從根本上解決了反壓場景下 checkpoint barrier 對齊的問題。實際上這個想法早在 1.10.0 版本之前就開始醞釀設(shè)計,由于涉及到很多模塊的大改動,實現(xiàn)機制和線程模型也很復雜。我們實現(xiàn)了兩種不同方案的原型 POC 進行了測試、性能對比,確定了最終的方案,因此直到 1.11.0 才完成了 MVP 版本,這也是 1.11.0 中執(zhí)行引擎層唯一的一個重量級 feature。其基本思想可以概括為:

  • Checkpoint barrier 跨數(shù)據(jù) buffer 傳輸,不在輸入輸出隊列排隊等待處理,這樣就和算子的計算能力解耦,barrier 在節(jié)點之間的傳輸只有網(wǎng)絡(luò)延時,可以忽略不計。
  • 每個算子多個輸入鏈路之間不需要等待 barrier 對齊來執(zhí)行 checkpoint,第一個到的 barrier 就可以提前觸發(fā) checkpoint,這樣可以進一步提速 checkpoint,不會因為個別鏈路的延遲而影響整體。
  • 為了和之前 aligned checkpoint 的語義保持一致,所有未被處理的輸入輸出數(shù)據(jù) buffer 都將作為 channel state 在 checkpoint 執(zhí)行時進行快照持久化,在 failover 時連同 operator state 一同進行恢復。換句話說,aligned 機制保證的是 barrier 前面所有數(shù)據(jù)必須被處理完,狀態(tài)實時體現(xiàn)到 operator state 中;而 unaligned 機制把 barrier 前面的未處理數(shù)據(jù)所反映的 operator state 延后到 failover restart 時通過 channel state 回放進行體現(xiàn),從狀態(tài)恢復的角度來說最終都是一致的。注意這里雖然引入了額外的 in-flight buffer 的持久化,但是這個過程實際是在 checkpoint 的異步階段完成的,同步階段只是進行了輕量級的 buffer 引用,所以不會過多占用算子的計算時間而影響吞吐性能。

 

Unaligned checkpoint 在反壓嚴重的場景下可以明顯加速 checkpoint 的完成時間,因為它不再依賴于整體的計算吞吐能力,而和系統(tǒng)的存儲性能更加相關(guān),相當于計算和存儲的解耦。但是它的使用也有一定的局限性,它會增加整體 state 的大小,對存儲 IO 帶來額外的開銷,因此在 IO 已經(jīng)是瓶頸的場景下就不太適合使用 unaligned checkpoint 機制。

1.11.0 中 unaligned checkpoint 還沒有作為默認模式,需要用戶手動配置來開啟,并且只在 exactly-once 模式下生效。但目前還不支持 savepoint 模式,因為 savepoint 涉及到作業(yè)的 rescale 場景,channel state 目前還不支持 state 拆分,在后面的版本會進一步支持,所以 savepoint 目前還是會使用之前的 aligned 模式,在反壓場景下有可能需要很長時間才能完成。

四 總結(jié)

Flink 1.11.0 版本的開發(fā)過程中,我們看到越來越多來自中國的貢獻者參與到核心功能的開發(fā)中,見證了 Flink 在中國的生態(tài)發(fā)展越來越繁榮,比如來自騰訊公司的貢獻者參與了 K8s、checkpoint 等功能開發(fā),來自字節(jié)跳動公司的貢獻者參與了 Table & SQL 層以及引擎網(wǎng)絡(luò)層的一些開發(fā)。希望更多的公司能夠參與到 Flink 開源社區(qū)中,分享在不同領(lǐng)域的經(jīng)驗,使 Flink 開源技術(shù)一直保持先進性,能夠普惠到更多的受眾。

 

經(jīng)過 1.11.0 “小版本”的短暫調(diào)整,F(xiàn)link 正在醞釀下一個大版本的 feature,相信一定會有很多重量級的特性登場,讓我們拭目以待!

 

責任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2018-03-26 09:19:44

JavaScript開發(fā) 特性

2023-06-28 00:40:01

ECMAScriptWeakMapSymbol

2022-06-24 08:33:13

ECMAScriptjavaScript

2023-03-16 17:28:59

技術(shù)AI

2013-06-30 09:51:54

SpringWeb服務(wù)器

2009-06-15 14:53:00

NetBeans 6.

2025-11-17 04:00:00

2023-08-14 08:34:14

GolangHttp

2015-10-28 14:26:50

SQL Server 全程加密技術(shù)動態(tài)數(shù)據(jù)屏蔽

2021-06-23 09:46:16

Python 3.10結(jié)構(gòu)模式管理器

2010-05-17 10:05:55

Subversion1

2013-02-25 14:02:07

RubyWeb

2021-03-30 14:50:41

前端TypeScript 命令

2024-01-11 17:06:20

2010-05-13 16:39:27

Subversion1

2025-01-07 00:00:00

通信領(lǐng)域技術(shù)

2023-07-31 14:01:25

數(shù)據(jù)中心SDN

2012-12-28 18:09:21

2017-09-16 15:55:54

ChromeJavaScriptAndroid

2017-12-25 13:55:21

JavaJava 9甲骨文
點贊
收藏

51CTO技術(shù)棧公眾號

国产欧美亚洲视频| 亚洲成人激情在线| 色乱码一区二区三区熟女| 国产精品永久久久久久久久久| 欧美va天堂在线| 亚洲精品电影网| 天天视频天天爽| 色yeye免费人成网站在线观看| a在线欧美一区| 国产精品久久久久久久久久小说| 欧美三级小视频| 国产日产精品_国产精品毛片| 欧美日韩国产区一| 北条麻妃在线视频观看| 日本韩国在线视频爽| 99视频热这里只有精品免费| 国产在线拍揄自揄视频不卡99| 日韩精品一区二区在线播放| 日韩欧美一区免费| 日韩精品在线视频美女| 日韩精品aaa| 欧美日韩美女| 亚洲狠狠爱一区二区三区| 亚洲国产日韩美| 五月天婷婷激情网| 国产乱人伦偷精品视频免下载| 欧美中文字幕精品| 久久久一二三区| 天天影视综合| 国产午夜精品全部视频在线播放| 精品少妇人妻av一区二区三区| 国内自拍亚洲| 欧美亚洲国产怡红院影院| 国产日韩av网站| 日韩激情av| 亚洲免费视频中文字幕| 日本高清久久一区二区三区 | 欧美午夜免费电影| 美女日批免费视频| 黄色污污视频在线观看| 亚洲精品久久嫩草网站秘色| 亚洲综合首页| av网在线观看| 国产精品青草久久| 日韩动漫在线观看| 国产视频网址在线| 国产视频一区在线播放| 欧美第一黄网| 久久米奇亚洲| 久久久不卡网国产精品一区| 欧美成人dvd在线视频| 午夜国产在线视频| 91亚洲精品一区二区乱码| 国产精品对白刺激久久久| 精品毛片一区二区三区| 国产乱人伦偷精品视频不卡| 亚洲a成v人在线观看| 国产又粗又猛又爽又黄91| 蓝色福利精品导航| 成人情趣片在线观看免费| 一区二区视频网| 久久99精品国产91久久来源| 成人xxxxx| 精品欧美一区二区精品少妇| 国产美女视频91| 超碰在线97av| 天堂v在线观看| xfplay精品久久| 欧美一区二区三区电影在线观看 | 久久综合九色综合97婷婷女人| 好看的日韩精品视频在线| 天天操天天操天天干| 久久伊人蜜桃av一区二区| 日韩av电影免费观看| chinese偷拍一区二区三区| 国产精品毛片无遮挡高清| 资源网第一页久久久| a级网站在线播放| 五月激情丁香一区二区三区| 不要播放器的av网站| 日韩成人综合网| 日韩精品一区二区三区中文不卡 | 一区二区中文字幕在线| 国产精品88久久久久久妇女| 国产羞羞视频在线播放| 日韩欧美精品在线观看| av亚洲天堂网| 高清精品视频| 国产香蕉精品视频一区二区三区| 亚洲精品一区二区三区在线播放| 狠狠入ady亚洲精品经典电影| 26uuu亚洲伊人春色| 中文在线字幕免费观| 国产成人综合亚洲网站| 欧美激情导航| 成人video亚洲精品| 午夜精品福利一区二区三区蜜桃| 日韩中文字幕免费在线| 日韩精品中文字幕吗一区二区| 亚洲精品97久久| 美国一级片在线观看| 亚洲精品乱码| 成人一区二区电影| 欧美午夜黄色| 亚洲最新视频在线播放| 男人天堂成人在线| av不卡一区| 丝袜一区二区三区| 亚洲精品1区2区3区| 国产一区二区三区久久悠悠色av| 久久精品99久久| 97影院秋霞午夜在线观看| 日韩欧美国产高清91| 午夜影院免费版| 成人毛片在线| 欧美亚洲另类在线| 午夜精品久久久久久久99热黄桃 | 欧美少妇一区二区三区| 三级成人黄色影院| 亚洲爱爱爱爱爱| 69av.com| 国产精品中文字幕欧美| 亚洲精品二区| 色香欲www7777综合网| 欧美一级二级在线观看| 精品视频第一页| 丝袜脚交一区二区| 免费日韩av电影| 6699嫩草久久久精品影院| 91精品国产欧美一区二区| 少妇一级黄色片| 久久综合亚州| 久久精品五月婷婷| 国产传媒av在线| 精品三级在线看| 中文字幕在线观看成人| 寂寞少妇一区二区三区| 亚洲国产一区在线| 成人午夜在线| 曰本色欧美视频在线| 亚洲欧美综合自拍| 久久综合一区二区| 国产综合av在线| 欧美激情极品| 26uuu亚洲国产精品| 婷婷在线免费观看| 性做久久久久久久免费看| 性活交片大全免费看| 自拍偷拍欧美| a级国产乱理论片在线观看99| av免费在线观| 日韩欧美在线网站| 久久高清无码视频| 成人黄页毛片网站| 日本手机在线视频| 亚洲色图美女| 国产精品第1页| yiren22亚洲综合伊人22| 在线观看不卡视频| 天堂网av2018| 国产精品影音先锋| 精品国产一区二区三区无码| 国产精品对白| 国产999在线观看| 粉嫩av在线播放| 欧美男生操女生| 欧美国产日韩在线观看成人| 国产suv精品一区二区6| 国产精品无码一区二区在线| 国产乱码精品一区二区亚洲| 国产精品欧美一区二区三区奶水| 麻豆系列在线观看| 日韩欧美视频在线| 91九色丨porny丨肉丝| 国产日产欧产精品推荐色| 日韩中文字幕a| 午夜久久tv| 欧美国产一区二区在线| 在线日韩三级| 97精品国产97久久久久久| 国产小视频在线| 制服丝袜成人动漫| 日韩欧美高清在线观看| 久久久久青草大香线综合精品| 中文字幕国产传媒| 欧美成人69| 久久综合久久综合这里只有精品| 欧美亚洲人成在线| 久久久久久久久久久免费 | 久久久国产一区二区三区四区小说| 欧美午夜性生活| 欧美大片专区| 日本一区二区精品视频| 欧美影院视频| 国产精国产精品| 国产www视频在线观看| 国产亚洲激情在线| 亚洲国产精品久久久久爰性色 | 成人性生生活性生交12| 国产精品v亚洲精品v日韩精品| 免费精品视频一区二区三区| 台湾天天综合人成在线| 91av在线网站| 超碰caoporn久久| 国产香蕉97碰碰久久人人| 黄色av中文字幕| 欧美男人的天堂一二区| 啦啦啦免费高清视频在线观看| 亚洲免费av高清| 日本爱爱爱视频| av高清久久久| 国产资源中文字幕| 日本成人在线电影网| 99色这里只有精品| 在线精品小视频| 午夜精品一区二区在线观看| 亚州精品视频| av免费观看久久| 亚洲伊人精品酒店| 国产精品成人v| 成人性生活视频| 久久久久久久一| 中文字幕在线观看播放| 色777狠狠综合秋免鲁丝| 免费在线超碰| 日韩av在线免播放器| 亚洲精品喷潮一区二区三区 | 色欲久久久天天天综合网| 51精品秘密在线观看| av毛片在线免费观看| 无吗不卡中文字幕| 亚洲一区 视频| 亚洲精品一二三区| 麻豆精品国产免费| 中文字幕一区二区三| 天天干天天舔天天操| 久久综合久久99| 亚洲精品视频久久久| 白白色 亚洲乱淫| 亚洲精品无码一区二区| 国产曰批免费观看久久久| 污片在线免费看| 轻轻草成人在线| 国产精品一区二区羞羞答答| 日韩电影在线一区二区三区| 男人搞女人网站| 青娱乐精品视频| 亚洲免费999| 激情六月婷婷久久| 国产一级片中文字幕| 国内精品久久久久影院薰衣草| 在线观看国产中文字幕| 久久国产精品无码网站| 91热视频在线观看| 国产白丝精品91爽爽久久| 欧美熟妇精品一区二区| 国产成人高清视频| 亚洲av成人片无码| 99re这里都是精品| av男人的天堂av| 中文字幕av一区二区三区免费看| 97人妻人人揉人人躁人人| 亚洲国产成人在线| 久久99久久99精品免费看小说| 亚洲免费电影在线| 日韩乱码一区二区| 91久久奴性调教| 中文字幕免费观看视频| 在线播放国产精品二区一二区四区 | 日韩女优在线视频| aaa国产一区| av网站免费在线看| 中文字幕中文字幕中文字幕亚洲无线| 精品一区二区在线观看视频| 一区二区在线观看av| 日本三级2019| 在线视频一区二区免费| 国产毛片在线视频| 亚洲精品videossex少妇| 成人免费视频| 免费av一区二区| 制服丝袜专区在线| 国产日韩欧美电影在线观看| 中文久久电影小说| 水蜜桃一区二区| 综合一区在线| 无码精品国产一区二区三区免费| 免费在线观看视频一区| 免费黄色在线播放| 国产亚洲va综合人人澡精品| 岛国毛片在线观看| 日韩欧美精品在线观看| 99热精品在线播放| 亚洲欧美日韩视频一区| 国产成人在线视频免费观看| 456国产精品| 99久久久成人国产精品| 久久久久久九九九九| 欧美国产一级| 女人和拘做爰正片视频| 国产自产v一区二区三区c| 亚洲国产果冻传媒av在线观看| 国产精品福利一区二区三区| 在线观看中文字幕视频| 91精品国产综合久久小美女| 色天堂在线视频| 欧美精品一区二区免费| 国产 日韩 欧美一区| 国产乱码一区| 亚洲精品国产偷自在线观看| 北条麻妃av高潮尖叫在线观看| 国产不卡一区视频| 日本欧美一区二区三区不卡视频| 午夜精品久久一牛影视| 国产乱淫a∨片免费观看| 亚洲欧美一区二区三区久久| 福利在线导航136| 成人激情视频在线| 日韩电影一区| 久久精品香蕉视频| 成年人网站91| 欧美人妻精品一区二区免费看| 欧美人与禽zozo性伦| 国产三区四区在线观看| 91sao在线观看国产| 成人av激情人伦小说| 91免费视频黄| 乱一区二区av| 国精产品一区一区| 欧美性少妇18aaaa视频| 视频一区二区三区在线看免费看| 欧美劲爆第一页| 日本免费一区二区三区视频| 伊人久久99| 久久国产精品99久久人人澡| 小早川怜子久久精品中文字幕| 欧美午夜宅男影院在线观看| 内射无码专区久久亚洲| 欧美极品少妇全裸体| 岛国精品一区| av女优在线播放| 成人污视频在线观看| 日本一级黄色录像| 日韩电影中文字幕一区| 免费看男女www网站入口在线 | 四虎永久在线观看| 国内外成人免费激情在线视频| av毛片精品| 男女激情免费视频| 成人av资源在线观看| 人人干人人干人人干| 亚洲第一视频网| 蜜桃视频m3u8在线观看| 免费国产一区二区| 青娱乐精品视频在线| 午夜国产小视频| 日韩一区二区在线观看| 性直播体位视频在线观看| 成人免费91在线看| 在线综合亚洲| 人妻精品久久久久中文| 欧美日韩午夜在线视频| 伊人免费在线| 91精品国产综合久久久久久丝袜 | 欧美成人福利在线观看| 中文字幕一区二区在线观看| 国产三级三级在线观看| 久久男人av资源网站| 三级精品视频| 国产又大又黄又猛| 一区二区三区日韩欧美| 手机看片福利在线| 国产精品白嫩初高中害羞小美女| 欧美成人自拍| 国产伦理在线观看| 日韩欧美国产激情| 国产在线高清理伦片a| 国产精品高清一区二区三区| 亚洲一区二区三区免费在线观看| 高清国产在线观看| 欧美哺乳videos| 久久夜夜操妹子| 一区二区三区四区久久| 不卡的看片网站| 中国老头性行为xxxx| 欧美二区乱c黑人| 久久不卡国产精品一区二区| 涩多多在线观看| 欧美日韩一二三四五区| 日本福利专区在线观看| 国产高清一区视频| 日韩电影一二三区| 国产小视频在线看| 在线日韩日本国产亚洲| 在线视频亚洲欧美中文| 91网址在线播放| 婷婷六月综合网| 国产成人l区| 日韩av电影在线观看| 成人动漫一区二区三区|