首頁>技術>

Apache Flink 最新穩定版 1.12.0 已釋出。Apache Flink 是一個流處理框架和分散式處理引擎,用於在無邊界和有邊界資料流上進行有狀態的計算。Flink 能在所有常見叢集環境中執行,並能以記憶體速度和任意規模進行計算。

根據釋出公告的介紹,新版本顯著提升了可用性。此外,新增的功能簡化(並統一了)整個 API 堆疊的 Flink 處理。亮點如下:

DataStream API 中的批處理執行模式 (Batch Execution Mode)

在 DataStream API 中增​加對高效批處理執行的支援。這是實現批處理和流處理真正統一執行時的下一個重要里程碑。

有限流上的批處理 (Batch for Bounded Streams)

現在已支援使用 DataStream API 來處理有限流(例如檔案),然而執行時並不“知道”作業已受限制。為了最佳化在有限輸入情況下的執行時效能,新BATCH執行模式對於聚合操作全部在記憶體中進行,並使用改進過的排程策略(檢視 Pipelined Region Scheduling)。因此,DataStream API 中BATCH模式執行已經非常接近 Flink 1.12 中 DataSet API 的效能。

新的 Data Sink API (Beta)

在以前的版本中,已經確保資料來源中的聯結器可以同時在兩種執行模式下工作,因此在 Flink 1.12 中,社群專注於實現統一的 Data Sink API (FLIP-143)。新的抽象引入了一個 write/commit 協議和一個更加模組化的介面,介面中各個元件會透明地暴露給框架。

Sink 實現者需要定義 what 和 how:SinkWriter 用於寫資料,並輸出需要 commit 的內容(例如 committables);Committer 和 GlobalCommitter 封裝瞭如何處理 committables。框架會負責 whenwhere:即在什麼時間,以及在哪些機器或程序中 commit。

Kubernetes 高可用性 (HA) 服務

實現基於 Kubernetes 的高可用性 (HA) 方案,在生產環境中可作為 ZooKeeper 的替代方案,以實現高可用性的生產設定。當然,這並不意味 ZooKeeper 會被刪除,這只是為 Kubernetes 上的 Flink 使用者提供另一種選擇。

升級 Kafka Connector

Kafka SQL 聯結器已擴充套件為可以在 upsert 模式下工作,並且能夠處理 SQL DDL 中的 connector metadata。現在,Temporal table joins 也可以用 SQL 完全表示,而不再依賴於 Table API。

PyFlink:Python DataStream API

PyFlink 添加了對於 DataStream API 的支援,並將 PyFlink 擴充套件到了更復雜的場景,比如需要對狀態或者定時器 timer 進行細粒度控制的場景。除此之外,現在原生支援將 PyFlink 作業部署到 Kubernetes 上。

更多說明:https://flink.apache.org/news/2020/12/10/release-1.12.0.html。

21
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Spring Tools 4.9.0 釋出