Flink1.8.0新功能有哪些

這篇文章主要介紹“Flink1.8.0新功能有哪些”,在日常操作中,相信很多人在Flink1.8.0新功能有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Flink1.8.0新功能有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)公司專注于襄陽網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供襄陽營銷型網(wǎng)站建設,襄陽網(wǎng)站制作、襄陽網(wǎng)頁設計、襄陽網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務,打造襄陽網(wǎng)絡公司原創(chuàng)品牌,更為您提供襄陽網(wǎng)站排名全網(wǎng)營銷落地服務。

Flink1.8.0發(fā)布,主要改變?nèi)缦拢?/strong>

1.將會增量清除舊的State
2.對hadoop的支持發(fā)生改變
3.編程方面TableEnvironment棄用
4.Flink1.8將不發(fā)布帶有Hadoop的二進制文件

更多詳細如下:

這次的發(fā)行版本討論了Flink 1.7和Flink 1.8之間發(fā)生變化的重要方面,例如配置,特性或依賴性。

狀態(tài)

1、使用TTL(生存時間)連續(xù)增量清除舊的Key狀態(tài)

我們在Flink 1.6(FLINK-9510)中為Key狀態(tài)引入了TTL(生存時間)。此功能允許在訪問時清理并使Key狀態(tài)條目無法訪問。另外,在編寫保存點/檢查點時,現(xiàn)在也將清理狀態(tài)。Flink 1.8引入了對RocksDB狀態(tài)后端(FLINK-10471)和堆狀態(tài)后端(FLINK-10473)的舊條數(shù)的連續(xù)清理。這意味著舊的條數(shù)將(根據(jù)TTL設置)不斷被清理掉。

2、恢復保存點時對模式遷移的新支持

使用Flink 1.7.0, 我們在使用AvroSerializer(FLINK-10605)時添加了對更改狀態(tài)模式的支持。使用Flink1.8.0,我們在TypeSerializers將所有內(nèi)置遷移到新的序列化器快照抽象方面取得了很大進展,該抽象理論上允許模式遷移。在Flink附帶的序列化程序中,我們現(xiàn)在支持PojoSerializer(FLINK-11485)和Java EnumSerializer (FLINK-11334)以及有限情況下的Kryo(FLINK-11323)的模式遷移格式。

3、保存點兼容性

TraversableSerializer 此序列化程序(FLINK-11539)中的更新,包含Scala的Flink 1.2中的保存點將不再與Flink 1.8兼容。可以通過升級到Flink 1.3和Flink 1.7之間的版本,然后再更新至Flink 1.8來解決此限制。

4、RocksDB版本沖突并切換到FRocksDB(FLINK-10471)

需要切換到名為FRocksDB的RocksDB的自定義構建,因為需要RocksDB中的某些更改來支持使用TTL進行連續(xù)狀態(tài)清理。FRocksDB的已使用版本基于RocksDB的升級版本5.17.2。對于Mac OS X,僅支持OS X版本> =10.13的RocksDB版本5.17.2。

Maven 依賴

1、使用Flink捆綁Hadoop庫的更改(FLINK-11266)

包含hadoop的便捷二進制文件不再發(fā)布。

如果部署依賴于flink-shaded-hadoop2包含 flink-dist,則必須從下載頁面的可選組件部分手動下載并打包Hadoop jar并將其復制到/lib目錄中。另外一種方法,可以通過打包flink-dist和激活 include-hadoopmaven配置文件來構建包含hadoop的Flink分發(fā)。

由于hadoop flink-dist默認不再包含在內(nèi),因此指定-DwithoutHadoop何時打包flink-dist將不再影響構建。

配置

1、TaskManager配置(FLINK-11716)

TaskManagers現(xiàn)在默認綁定到主機IP地址而不是主機名??梢酝ㄟ^配置選項控制此行為taskmanager.network.bind-policy。如果你的Flink集群在升級后遇到莫名其妙的連接問題,嘗試設置taskmanager.network.bind-policy: name在flink-conf.yaml 返回前的1.8的設置行為。

Table API

1、直接表構造函數(shù)使用的取消預測(FLINK-11447)

Flink 1.8不贊成Table在Table API中直接使用該類的構造函數(shù)。此構造函數(shù)以前將用于執(zhí)行與橫向表的連接。你現(xiàn)在應該使用table.joinLateral()或 table.leftOuterJoinLateral()代替。這種更改對于將Table類轉換為接口是必要的,這將使Table API在未來更易于維護和更清潔。

2、引入新的CSV格式符(FLINK-9964)

此版本為符合RFC4180的CSV文件引入了新的格式符。新描述符可用作 org.apache.flink.table.descriptors.Csv。目前,這只能與Kafka一起使用。舊描述符可org.apache.flink.table.descriptors.OldCsv用于文件系統(tǒng)連接器。

3、靜態(tài)生成器方法在TableEnvironment(FLINK-11445)上的棄用

為了將API與實際實現(xiàn)分開,TableEnvironment.getTableEnvironment()不推薦使用靜態(tài)方法。你現(xiàn)在應該使用 Batch/StreamTableEnvironment.create()。

4、表API Maven模塊中的更改(FLINK-11064)

之前具有flink-table依賴關系的用戶需要更新其依賴關系flink-table-planner以及正確的依賴關系flink-table-api-*,具體取決于是使用Java還是Scala: flink-table-api-java-bridge或者flink-table-api-scala-bridge。

5、更改為外部目錄表構建器(FLINK-11522)

ExternalCatalogTable.builder()不贊成使用ExternalCatalogTableBuilder()。

6、更改為表API連接器jar的命名(FLINK-11026)

Kafka/elasticsearch7 sql-jars的命名方案已經(jīng)更改。在maven術語中,它們不再具有sql-jar限定符,而artifactId現(xiàn)在以前綴為例,flink-sql而不是flink例如flink-sql-connector-kafka。

7、更改為指定Null的方式(FLINK-11785)

現(xiàn)在Table API中的Null需要定義nullof(type)而不是Null(type)。舊方法已被棄用。

連接器

1、引入可直接訪問ConsumerRecord的新KafkaDeserializationSchema(FLINK-8354)

對于FlinkKafkaConsumers,我們推出了一個新的KafkaDeserializationSchema ,可以直接訪問KafkaConsumerRecord。這包含了該 KeyedSerializationSchema功能,該功能已棄用但目前仍可以使用。

2、FlinkKafkaConsumer現(xiàn)在將根據(jù)主題規(guī)范過濾恢復的分區(qū)(FLINK-10342)

從Flink 1.8.0開始,現(xiàn)在FlinkKafkaConsumer總是過濾掉已恢復的分區(qū),這些分區(qū)不再與要在還原的執(zhí)行中訂閱的指定主題相關聯(lián)。此行為在以前的版本中不存在FlinkKafkaConsumer。如果您想保留以前的行為。請使用上面的 disableFilterRestoredPartitionsWithSubscribedTopics()配置方法FlinkKafkaConsumer。

考慮這個例子:如果你有一個正在消耗topic的Kafka Consumer A,你做了一個保存點,然后改變你的Kafka消費者而不是從topic消費B,然后從保存點重新啟動你的工作。在此更改之前,您的消費者現(xiàn)在將使用這兩個主題A,B因為它存儲在消費者正在使用topic消費的狀態(tài)A。通過此更改,您的使用者將僅B在還原后使用topic,因為我們使用配置的topic過濾狀態(tài)中存儲的topic。

其它接口改變:

1、從TypeSerializer接口(FLINK-9803)中刪除了canEqual()方法

這些canEqual()方法通常用于跨類型層次結構進行適當?shù)南嗟刃詸z查。在TypeSerializer實際上并不需要這個屬性,因此該方法現(xiàn)已刪除。

2、刪除CompositeSerializerSnapshot實用程序類(FLINK-11073)

該CompositeSerializerSnapshot實用工具類已被刪除?,F(xiàn)在CompositeTypeSerializerSnapshot,你應該使用復合序列化程序的快照,該序列化程序將序列化委派給多個嵌套的序列化程序。

到此,關于“Flink1.8.0新功能有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

新聞標題:Flink1.8.0新功能有哪些
URL網(wǎng)址:http://muchs.cn/article32/jojcpc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、軟件開發(fā)、營銷型網(wǎng)站建設、動態(tài)網(wǎng)站網(wǎng)站排名、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)