Flink1.14.2發(fā)布,除了log4j漏洞你還需要關(guān)注什么?

本文已經(jīng)加入「大數(shù)據(jù)成神之路PDF版」中提供下載。
你可以關(guān)注公眾號(hào),后臺(tái)回復(fù):「PDF」?即可獲取。
Flink1.14.2 Release版本已經(jīng)在12月16日發(fā)布,主要是修復(fù)了Log4j導(dǎo)致的可執(zhí)行任意代碼的漏洞問(wèn)題,但是還有一些非常重要的功能更新。
我挑了其中比較重要的列出來(lái)。
flink-pulsar-connector導(dǎo)致的OOM問(wèn)題
Pulsar客戶端在底層使用的 Netty 在 Java 11 和 Java 8 上分配內(nèi)存的方式不同。在Java 11 上,它將從 Java 直接內(nèi)存池中分配內(nèi)存,并受 MaxDirectMemory限制。當(dāng)前的Pulsar客戶端沒有用于控制內(nèi)存限制的配置選項(xiàng),這可能導(dǎo)致OOM。
建議用戶在JDK8環(huán)境下使用Pulsar連接器,或者為Flink開啟足夠內(nèi)存。
Table API & SQL
DataStream API and Table API的pipeline name修改為一致
批處理模式下 DataStream API 程序的默認(rèn)作業(yè)名稱已從"Flink Streaming Job"更改為"Flink Batch Job"??梢允褂门渲眠x項(xiàng)"pipeline.name"設(shè)置自定義名稱。
fromChangelogStream方法
與 1.13.2 相比,StreamTableEnvironment.fromChangelogStream 方法可能會(huì)產(chǎn)生不同的流,因?yàn)橹皼]有正確考慮主鍵。
Table#flatMap支持新的類型推斷
Table.flatMap() 現(xiàn)在支持新的類型系統(tǒng)。用戶可以進(jìn)行功能升級(jí)。
為新的 API 方法添加 Scala 隱式轉(zhuǎn)換
在 DataStream API 和 Table API 之間新增新的 Scala 隱式轉(zhuǎn)換。
刪除 SQL 客戶端中的 YAML 環(huán)境文件支持
sql-client-defaults.yaml 文件在 1.13 版本中已棄用,現(xiàn)在已完全刪除。作為替代方法,您可以使用 -i 啟動(dòng)選項(xiàng)來(lái)執(zhí)行 SQL 初始化文件以設(shè)置 SQL 客戶端會(huì)話。SQL 初始化文件可以使用 Flink DDL 來(lái)定義可用的目錄、表源和接收器、用戶定義的函數(shù)以及其他執(zhí)行和部署所需的屬性。
廢棄/刪除了一些API
以下 Maven 模塊已重命名:
flink-table-planner-blink?->?flink-table-planner
flink-table-runtime-blink?->?flink-table-runtime
flink-table-uber-blink?->?flink-table-uber
由于刪除了 BatchTableEnvironment,BatchTableSource 和 BatchTableSink 也被刪除了。請(qǐng)改用 DynamicTableSource 和 DynamicTableSink。
TableEnvironment#connect方法刪除
棄用 toAppendStream 和 toRetractStream
SQL Kafka 連接器和 SQL Elasticsearch 連接器的舊版本及其相應(yīng)的舊格式已被刪除。'connector.type='或'format.type='變更為'connector='選項(xiàng)。
刪除 BatchTableSource/Sink、HBaseTableSource/Sink 和相關(guān)類
刪除 BatchTableSource、ParquetTableSource和相關(guān)類
刪除 BatchTableSource、OrcTableSource和相關(guān)類
PyFlink中刪除BatchTableEnvironment和舊planner的使用
DataStream API
修復(fù)多個(gè)輸入操作符的空閑處理
AbstractStreamOperator、Input 等類添加了 processWatermarkStatusX 方法。它允許在兩個(gè)/多個(gè)輸入操作符中組合水印時(shí)考慮 WatermarkStatus。
POJO字段上可以使用@TypeInfo注解
Connectors
暴露標(biāo)準(zhǔn)化Metrics
使用統(tǒng)一的 Source 和 Sink 接口的連接器將自動(dòng)暴露某些標(biāo)準(zhǔn)化指標(biāo)。
KafkaSink 取代了 FlinkKafkaProducer
FlinkKafkaConsumer廢棄
Checkpoints
alignmentTimeout語(yǔ)義變更
alignmentTimeout配置的語(yǔ)義已經(jīng)改變了含義,現(xiàn)在是檢查點(diǎn)開始和任務(wù)接收到檢查點(diǎn)屏障之間的時(shí)間。
BROADCAST 禁用未對(duì)齊檢查點(diǎn)
廣播分區(qū)不能與未對(duì)齊的檢查點(diǎn)一起使用。因?yàn)闊o(wú)法保證在所有通道中以相同的速率消費(fèi)數(shù)據(jù)。這可能導(dǎo)致某些任務(wù)應(yīng)用與某個(gè)廣播事件相對(duì)應(yīng)的狀態(tài)更改,而其他任務(wù)則不會(huì)。還原時(shí),可能會(huì)導(dǎo)致狀態(tài)不一致。
不在支持Apache Mesos
「Mesos is phasing out gradually and has been replaced with Kubernetes in the containerized world」。
準(zhǔn)備和Mesos說(shuō)在再見吧。
「PDF」就可以看到阿里云盤下載鏈接了!



Hi,我是王知無(wú),一個(gè)大數(shù)據(jù)領(lǐng)域的原創(chuàng)作者。? 放心關(guān)注我,獲取更多行業(yè)的一手消息。

