大數據開發-Flink-1.13新特性

介紹

大概4月,Flink1.13就發佈了,參加 了Flink1.13 的Meetup,收穫仍是挺多,從大的方面講就是FlingSql的改進和優化,資源調度管理方面的優化,以及流批一體Flink在運行時與DataStream API的優化,另外就是State backend 模塊的優化,本篇文章既是當時作的筆記,又是在後續查閱官網等作的補充,html

Flink 的一個主要目標取得了重要進展,即讓流處理應用的使用像普通應用同樣簡單和天然。Flink 1.13 新引入的被動擴縮容使得流做業的擴縮容和其它應用同樣簡單,使用者僅須要修改並行度便可。react

這個版本還包括一系列重要改動使使用者能夠更好理解流做業的效能。當流做業的效能不及預期的時候,這些改動能夠使使用者能夠更好的分析緣由。這些改動包括用於識別瓶頸節點的負載和反壓視覺化、分析運算元熱點程式碼的 CPU 火焰圖和分析 State Backend 狀態的 State 存取效能指標sql

深刻解讀 Flink SQL 1.13

在剛剛發佈的 1.13 版本中,Flink SQL 帶來了許多新 feature 和功能提高,在這裏圍繞 Winddow TVF,時區支持,DataStream & Table API 交互,hive 兼容性提高,SQL Client 改進 五個方面apache

  • flip-145 window tvfapi

    • 完整關係代數表達
    • 輸入是一個關係,輸出是一個關係
    • 每一個關係對應一個數據集
    • cumulater window eg: 每10分鐘一次統計uv,,結果準確,不會有跳變
    • window 性能優化緩存

      • 內存,切片,算子,遲到數據
      • benchmark 測試 2x提高
    • 多維數據分析:grouping sets ,rollup,cube等
  • flip-162時區分析性能優化

    • 時區問題:proctime未考慮時區,timestamp 也沒有時區,各類current_time,now未考慮時區
    • 時間函數:current_timestamp 返回utc+0
    • 支持 tiestamp——ltz類型 timestamp vs timestamp_ltz
    • 糾正proctime()函數
    • 夏令時支持-同timestamp_ltz
  • flip-163 改進sql-client,hive兼容性網絡

    • 支持更多實用配置
    • 支持statement set
  • flip-136 加強datastrem 和 table的轉換架構

    • 支持ds 和table轉換時傳遞 event time 和 watermark
    • 支持changelog數據流在table和datastream間相互轉換

Flink 1.13: Towards Scalable Cloud Native Application

Flink 1.13 新增了被動資源管理模式與自適應調度模式,具有靈活的伸縮能力,與雲原生的自動伸縮技術相結合,可以更好地發揮雲環境下彈性計算資源的優點,是 Flink 全面擁抱雲原生技術生態的又一重要里程碑。本次議題將對 Flink 1.13 中的被動資源管理、自適應調度、自定義容器模板等新特性,我以爲這個的擴展才是Flink這次版本特別重要的一個feature函數

  • 雲原生 時代 flink,k8s,聲明api,可彈性擴展
  • k8s高可用-(zk,k8s可選)
  • Rescale (reactive mode → adaptive mdoe → autoscaling mode(TBD,還未支持))https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/elastic_scaling/
  • Flip-158 generalized incremental checkpoints 讓checkpoint更短期
  • Pod Template 自定義Pod模板支持
  • Fine-細粒度資源管理-featrue 大概1.14支持
  • 縱向擴展資源和橫向擴展資源,tm cpu → k8s, mem→no

面向流批一體的 Flink 運行時與 DataStream API 優化

在 1.13 中,針對流批一體的目標,Flink 優化了大規模做業調度以及批執行模式下網絡 Shuffle 的性能,從而進一步提升了流做業與批做業的執行性能;同時,在 DataStream API 方面,Flink也正在完善有限流做業的退出語義,從而進一步提升不一樣執行模式下語義與結果的一致性

api下面的shuffle架構實現

  • 有限做業和無限做業,和預期結果一致
  • 大規模做業優化 consumerVetexGroup partitionGroup
  • 有限流做業結束一致性,2pc😁😁
  • 流批-數據迴流
  • piplien and block-緩存主要是,離線處理

State backend Flink-1.13 優化及生產實踐

flink1.14 的展望

  • 刪除legacy planner
  • 完善window tvf
  • 提高 schema handing
  • 加強cdc

參考

更多能夠查看Flink官網 https://ci.apache.org/projects/flink/flink-docs-release-1.13/release-notes/flink-1.13/

參考部分:https://tw511.com/a/01/34869.html
吳邪,小三爺,混跡於後臺,大數據,人工智能領域的小菜鳥。
更多請關注
file

相關文章
相關標籤/搜索