Apache Flink 1.7.0 發(fā)布公告

Apache Flink社區(qū)很高興地宣布Apache Flink 1.7.0。最新版本包括超過420個已解決的問題以及Flink的一些令人興奮的新增內(nèi)容,我們將在本文的以下部分中對其進(jìn)行描述。請查看完整的更新日志以獲取更多詳細(xì)信息。

Flink 1.7.0與以前使用@Public注釋注釋的API的1.xy版本API兼容。該版本現(xiàn)已上市,我們鼓勵大家下載該版本并查看更新的文檔。通過Flink郵件列表或JIRA的反饋一如既往地非常感謝!

您可以在Flink項(xiàng)目站點(diǎn)上的更新下載頁面上找到二進(jìn)制文件。

  • Flink 1.7.0 - 擴(kuò)展流處理的范圍
  • 新功能和改進(jìn)
  • 發(fā)行說明
  • 貢獻(xiàn)者名單

Flink 1.7.0 - 擴(kuò)展流處理的范圍

在Flink 1.7.0中,我們更接近實(shí)現(xiàn)快速數(shù)據(jù)處理和以無縫方式為Flink社區(qū)構(gòu)建數(shù)據(jù)密集型應(yīng)用程序的目標(biāo)。我們的最新版本包括一些令人興奮的新功能和改進(jìn),例如對Scala 2.12的支持,一次性S3文件接收器,復(fù)雜事件處理與流SQL的集成以及我們在下面解釋的更多功能。

新功能和改進(jìn)

  • Apache Flink中的Scala 2.12支持(FLINK-7811):Apache Flink 1.7.0是第一個完全支持Scala 2.12的版本。這允許用戶使用較新的Scala版本編寫Flink應(yīng)用程序并利用Scala 2.12生態(tài)系統(tǒng)。

  • 狀態(tài)演進(jìn)(FLINK-9376):在許多情況下,由于需求的變化,長期運(yùn)行的Flink應(yīng)用程序需要在其生命周期內(nèi)發(fā)展。在不失去當(dāng)前應(yīng)用程序進(jìn)度狀態(tài)的情況下更改用戶狀態(tài)是應(yīng)用程序發(fā)展的關(guān)鍵要求。使用Flink 1.7.0,社區(qū)添加了狀態(tài)演變,允許您靈活地調(diào)整長時間運(yùn)行的應(yīng)用程序的用戶狀態(tài)模式,同時保持與以前保存點(diǎn)的兼容性。通過狀態(tài)演變,可以在狀態(tài)模式中添加或刪除列,以便更改應(yīng)用程序部署后應(yīng)用程序捕獲的業(yè)務(wù)功能。現(xiàn)在,使用Avro生成時,狀態(tài)模式演變現(xiàn)在可以立即使用作為用戶狀態(tài)的類,這意味著可以根據(jù)Avro的規(guī)范來演變國家的架構(gòu)。雖然Avro類型是Flink 1.7中唯一支持模式演變的內(nèi)置類型,但社區(qū)仍在繼續(xù)致力于在未來的Flink版本中進(jìn)一步擴(kuò)展對其他類型的支持。

  • 完全一次S3 StreamingFileSink(FLINK-9752):Flink 1.6.0中引入的StreamingFileSink現(xiàn)在已經(jīng)擴(kuò)展到支持寫入S3文件系統(tǒng),只需一次處理保證。使用此功能允許用戶構(gòu)建寫入S3的一次性端到端管道。

  • MATCH RECOGNIZE Streaming SQL支持(FLINK-6935):這是Apache Flink 1.7.0的一個重要補(bǔ)充,它為Flink SQL 提供了MATCH RECOGNIZE標(biāo)準(zhǔn)的初始支持。此功能結(jié)合了復(fù)雜事件處理(CEP)和SQL,可以輕松地對數(shù)據(jù)流進(jìn)行模式匹配,從而實(shí)現(xiàn)一整套新的用例。此功能目前處于測試階段,因此我們歡迎社區(qū)提供任何反饋和建議。未來的迭代和改進(jìn)。

  • 流式SQL中的時態(tài)表和時間連接(FLINK-9712):時態(tài)表是Apache Flink中的一個新概念,它為表的更改歷史提供(參數(shù)化)視圖,并在特定時間點(diǎn)返回表的內(nèi)容。例如,我們可以使用具有歷史貨幣匯率的表格。隨著時間的推移,這種表格不斷增長/發(fā)展,并且增加了新的更新匯率。時態(tài)表是一種視圖,可以將這些匯率的實(shí)際狀態(tài)返回到任何給定的時間點(diǎn)。使用這樣的表,可以使用正確的匯率將不同貨幣的訂單流轉(zhuǎn)換為通用貨幣。時間聯(lián)接允許使用不斷變化/更新的表來進(jìn)行內(nèi)存和計(jì)算有效的流數(shù)據(jù)連接。處理時間或事件時間,

  • Streaming SQL的其他功能:除了上面提到的主要功能外,F(xiàn)link的Table&SQL API已經(jīng)擴(kuò)展到更多用例。以下內(nèi)置函數(shù)被添加到API:TO_BASE64,LOG2,LTRIM,REPEAT,REPLACE,COSH ,SINH,TANH SQL Client現(xiàn)在支持在環(huán)境文件和CLI會話中定義視圖。此外,CLI中添加了基本的SQL語句自動完成功能。社區(qū)添加了一個Elasticsearch 6表接收器,允許存儲動態(tài)表的更新結(jié)果。

  • 版本化REST API(FLINK-7551):從Flink 1.7.0開始,REST API已經(jīng)過版本化。這保證了Flink REST API的穩(wěn)定性,因此可以在Flink中針對穩(wěn)定的API開發(fā)第三方應(yīng)用程序。因此,未來的Flink升級不需要更改現(xiàn)有的第三方集成。

  • Kafka 2.0連接器(FLINK-10598):Apache Flink 1.7.0繼續(xù)添加更多連接器,使其更容易與更多外部系統(tǒng)進(jìn)行交互。在此版本中,社區(qū)添加了Kafka 2.0連接器,該連接器允許通過一次性保證讀取和寫入Kafka 2.0。

  • 本地恢復(fù)(FLINK-9635):Apache Flink 1.7.0通過擴(kuò)展Flink的調(diào)度來完成本地恢復(fù)功能,以便在恢復(fù)時考慮以前的部署位置。如果啟用了本地恢復(fù),F(xiàn)link將保留最新檢查點(diǎn)的本地副本任務(wù)運(yùn)行的機(jī)器。通過將任務(wù)調(diào)度到以前的位置,F(xiàn)link將通過從本地磁盤讀取檢查點(diǎn)狀態(tài)來最小化恢復(fù)狀態(tài)的網(wǎng)絡(luò)流量。此功能大大提高了恢復(fù)速度。

  • 刪除Flink的傳統(tǒng)模式(FLINK-10392):Apache Flink 1.7.0標(biāo)志著Flip-6工作已完全完成并且與傳統(tǒng)模式達(dá)到功能奇偶校驗(yàn)的版本。因此,此版本刪除了對傳統(tǒng)模式的支持。

發(fā)行說明

如果您計(jì)劃將Flink設(shè)置升級到Flink 1.7,請查看發(fā)行說明。
https://ci.apache.org/projects/flink/flink-docs-release-1.7/

貢獻(xiàn)者名單

我們要感謝所有社區(qū)成員為此版本做出貢獻(xiàn)。特殊學(xué)分將由以下成員參與1.7.0版本的發(fā)布(根據(jù)git):
Aitozi, Alex Arkhipov, Alexander Koltsov, Alexey Trenikhin, Alice, Alice Yan, Aljoscha Krettek, Andrei Poluliakh, Andrey Zagrebin, Ashwin Sinha, Barisa Obradovic, Ben La Monica, Benoit Meriaux, Bowen Li, Chesnay Schepler, Christophe Jolif, Congxian Qiu, Craig Foster, David Anderson, Dawid Wysakowicz, Dian Fu, Diego Carvallo, Dimitris Palyvos, Eugen Yushin, Fabian Hueske, Florian Schmidt, Gary Yao, Guibo Pan, Hequn Cheng, Hiroaki Yoshida, Igal Shilman, JIN SUN, Jamie Grier, Jayant Ameta, Jeff Zhang, Jeffrey Chung, Jicaar, Jin Sun, Joe Malt, Johannes Dillmann, Jun Zhang, Kostas Kloudas, Krzysztof Bia?ek, Lakshmi Gururaja Rao, Liu Biao, Mahesh Senniappan, Manuel Hoffmann, Mark Cho, Max Feng, Mike Pedersen, Mododo, Nico Kruber, Oleksandr Nitavskyi, Osman ?amil AK?EL?K, Patrick Lucas, Paul Lam, Piotr Nowojski, Rick Hofstede, Rong R, Rong Rong, Sayat Satybaldiyev, Sebastian Klemke, Seth Wiesman, Shimin Yang, Shuyi Chen, Stefan Richter, Stephan Ewen, Stephen Jason, Thomas Weise, Till Rohrmann, Timo Walther, Tzu-Li “tison” Chen, Tzu-Li (Gordon) Tai, Tzu-Li Chen, Wosin, Xingcan Cui, Xpray, Xue Yu, Yangze Guo, Ying Xu, Yun Tang, Zhijiang, blues Zheng, hequn8128, ifndef-SleePy, jerryjzhang, jrthe42, jyc.jia, kkolman, lihongli, linjun, linzhaoming, liurenjie1024, liuxianjiao, lrl, lsy, lzqdename, maqingxiang, maqingxiang-it, minwenjun, shuai-xu, sihuazhou, snuyanzin, wind, xuewei.linxuewei, xueyu, xuqianjin, yanghua, yangshimin, zhijiang, 謝磊, 陳梓立

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容