大家好,本文為 Flink Weekly 的第十三期,由王雷整理,主要內容包括:近期社區開發進展,郵件問題答疑以及 Flink 最新社區動態及技術文章推薦。
Flink 開發進展
■ [Releases] Tzu-Li (Gordon) Tai 發佈了 Apache Flink Stateful Functions 2.0.0。
■ [Releases] Yu Li 發起了關於發佈 Flink 1.10.1 版本的討論,即將發佈的 1.10.1 版本還有1個 Blocker。預計下週會有一個 RC 版本。
■ [Releases] 1.9.3 版本所有的 blocker issues 都已經被解決,Dian Fu 正在準備發佈第一個候選版本。
■ [SQL] 在 FLIP-84 重構 TableEnvironment 和 Table 方案中,遺漏了提交 DQL 任務的場景,godfreyhe 重新發起了 FLIP-84 的投票,已通過。
■ [SQL] FLIP-122 關於在新的 TableFactory 中使用新的 connector 屬性的投票已通過。
■ [SQL] FLIP-110 關於支持在創建表的語句中增加 like 語法的投票已通過。
■ [Python] FLIP-121 關於支持 Cython 優化 Python UDF 的投票已通過。
■ [Runtime] FLIP-119 關於對調度策略優化的投票通過,優化主要集中在運行批處理作業時避免資源死鎖等。
郵件問題答疑
■ guanyq 在社區提問如何查詢 flink job 的異常日誌。田志聲推薦使用 log agent (比如 filebeat) 統一採集作業的日誌,然後收集到 ElasticSearch 查看。
[9]http://apache-flink.147419.n8.nabble.com/flink-td2378.html
■ chanamper 希望能在 Java Api 中使用 LocalGlobal 的聚合優化方法,Congxian Qiu 予以了回答,DataStream API 暫時沒有 local aggregation 的功能,可以通過給 key 拼前綴或者後綴來達到類似的效果。
[10]http://apache-flink.147419.n8.nabble.com/Flink-keyby-td2309.html
■ 111 發現 flink 中的 calcite 依賴 guava 16 以上的版本,hbase-connector 模塊依賴 guava 12.0 版本,經過 shade 後,作業運行正常,但是在 IDEA 運行單元測試會衝突。目前只能通過 mvn test 來運行單元測試,或者把單元測試改為連接遠程 Hbase 的方法來解決。
[11]http://apache-flink.147419.n8.nabble.com/Flink1-10-0-flink-hbase-guava-td2385.html
■ KristoffSC 在社區提問在用 RocksDB 作為 StateBackend 的情況下,少量的 MapState,每個 state 的大小很大,和很多的 ValueState,每個 state 的大小很小相比,哪種性能更高。Congxian Qiu 認為這兩者沒有區別,並給予了詳細的解析。
■ 111 在使用 TopN 語句時遇到了 ”This calc has no
useful projection and no filter. It should be removed by CalcRemoveRule” 的問題,Jark 認為這是由於 codegen bug 導致。
[13]http://apache-flink.147419.n8.nabble.com/Flink-SQL-1-10-ROW-NUMBER-td2355.html
■ Dongwon Kim 在社區裡提問關於在 NullAwareMapIterator 中拋出 NPE 的問題,Jark Wu 認為這是由於 HeapMapState iterator 的一處 bug 導致返回空的 iterator所致。
■ Krzysztof Zarzycki 希望能夠用 Flink SQL 實現動態修改 job 的拓撲圖,以動態的增刪業務的處理分支。該功能目前還不支持,大家對該功能的實現進行了討論。
[15]http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Dynamic-Flink-SQL-td33853.html
■ Salva Alcántara 在 snapshotState 方法中對 keyed state 進行了 clear 處理。job 啟動後,沒有一條數據進入 input streams 時,觸發 checkpoint 會報 NPE。Yun Tang 對該問題進行了回覆,講述了 keyed state 和 operator state 的區別,並根據 Salva Alcántara 的業務邏輯推薦他使用 operator state。
■ Aaron Levin 遇到了在 RocksDB 中存儲含有百萬個元素的 ListState 的應用場景,擔心在這種場景下會遇到一些問題。Seth Wiesman 回覆說 RocksDB's JNI bridge 不支持超過 2GB 的 ListState。Aljoscha Krettek 提供了另外的思路,可以把數據分成多個key,分散處理。
■ Robin Cassan 遇到了 checkpoint 因超時失敗時,接下來的 checkpoint 出現雪球效應的問題。Congxian Qiu 回答說非對齊的 checkpoint 可以解決該問題,但該方案還未實現。
■ Gyula Fóra 遇到了 source 表含有 nullable 字段,將 null 數據過濾掉,寫入對應字段類型 STRING NOT NULL 的 sink 表時,報類型不兼容的錯誤。Timo Walther 告知 type system 仍然在完善中,該問題是已知問題。
■ forideal 在一個任務中提交了三個 SQL,使用的同一個 source 表。Flink 的拓撲圖顯示,該 source 表被讀取了3遍。Jark Wu 告知 multi-sink optimization 在 flink 1.10 版本中只支持 TableEnvironment,StreamTableEnvironment 將在 flink 1.11 版本中提供支持。
活動 / 博客文章 / 其他
■ Flink 社區邀請程鶴群成為最新 Apache Flink PMC,恭喜!
■ Flink Forward 全球在線會議中文精華版直播上線,聚焦 Alibaba、Google、AWS、Uber、Netflix、新浪微博等海內外一線廠商,經典 Flink 應用場景,最新功能、未來規劃一覽無餘。直播詳情及預約觀看:
[22]https://developer.aliyun.com/live/2594?spm=a2c6h.14242504.J_6074706160.2.3fca361f4cYyQx
■ Flink 消息聚合處理方案
[23]https://ververica.cn/corporate_practice/flink-message-aggregation-processing-scheme/
■ Flink 新場景:OLAP 引擎性能優化及應用案例
[24]https://ververica.cn/developers/olap-engine-performance-optimization-and-application-cases/
■ Iceberg 在基於 Flink 的流式數據入庫場景中的應用
■ Flink 流批一體的實踐與探索
[26]https://ververica.cn/developers/practice-and-exploration-of-flink-flow-batch-integration
■ Apache Flink Training
[27]https://ververica.cn/training/
■ Flink 中文社區直播系列:
- 《實時數倉篇:Flink 窗口的應用與實現》,由 OPPO 大數據平臺研發負責人張俊分享
- 《PyFlink 核心功能介紹》,由 Apache Flink PMC 程鶴群分享
直播回顧:https://ververica.cn/developers/flink-training-course3/
2 分鐘快速訂閱 Flink 中文郵件列表
Apache Flink 中文郵件列表訂閱流程:
發送任意郵件到 [email protected]
收到官方確認郵件
回覆該郵件 confirm 即可訂閱
訂閱成功後將收到 Flink 官方的中文郵件列表的消息,您可以向 [email protected] 發郵件提問也可以幫助別人解答問題,動動手測試一下!
Tips:
Flink Weekly 週報計劃每週更新一期,內容涵蓋郵件列表中用戶問題的解答、社區開發和提議的進展、社區新聞以及其他活動、博客文章等,歡迎持續關注~
作者介紹:
王雷,小紅書技術部基礎平臺開發工程師,目前主要在做基於 Flink 的實時計算平臺開發。
社區活動推薦
普惠全球開發者,這一次,格外與眾不同!首個 Apache 頂級項目在線會議 Flink Forward 全球直播中文精華版來啦,聚焦 Alibaba、Google、AWS、Uber、Netflix、新浪微博等海內外一線廠商,經典 Flink 應用場景,最新功能、未來規劃一覽無餘。點擊下方圖片可瞭解更多大會詳情:
https://mp.weixinbridge.com/mp/wapredirect?url=https%3A%2F%2Fdeveloper.aliyun.com%2Ftopic%2Fffsf2020