天天看點

Apache Flink 幹貨合集打包好了,速來下載下傳

作者:王紹翾(花名:大沙)

Apache Flink 幹貨合集打包好了,速來下載下傳

最近的一份市場調查報告顯示,Apache Flink 是2018年開源大資料生态中發展“最快”的引擎,和2017年相比增長了125% 。為了讓大家更為全面地了解Flink,我們制作了一本電子幹貨合集:《不僅僅是流計算:Apache Flink實踐》,融合了Apache Flink在國内各大頂級網際網路公司的大規模實踐,希望對大家有所幫助。

在這本合集裡,你可以了解到:

Flink如何為整個阿裡集團平穩度過雙十一立下汗馬功勞?

如何為滿足滴滴極為複雜的業務需求提供簡單直覺的API支援?

如何在位元組跳動逐漸取代原有的JStorm引擎,成為公司内部流式資料處理的唯一标準?

Apache Flink 幹貨合集打包好了,速來下載下傳

《不僅僅是流計算:Apache Flink實踐》目錄一覽

長按識别以下二維碼,關注“阿裡技術”官方公衆号,回複“Flink”,即可免費線上閱讀、下載下傳此書。

Apache Flink 幹貨合集打包好了,速來下載下傳

Apache Flink已經被業界公認是最好的流計算引擎。然而Flink的計算能力不僅僅局限于做流處理。Apache Flink的定位是一套兼具流、批、機器學習等多種計算功能的大資料引擎。在最近的一段時間,Flink在批處理以及機器學習等諸多大資料場景都有長足的突破。此次專刊,旨在對Flink在大資料智能計算方面做一些簡要的介紹。後續我們還将釋出更多關于Flink在新場景的應用幹貨。

下面,我們邀請阿裡資深技術專家、Apache Flink Committer 王紹翾老師(花名“大沙”),帶領大家走進Flink的世界。

Apache Flink 幹貨合集打包好了,速來下載下傳
在全面介紹Flink的新進展之前,我先來介紹一些大資料和人工智能計算的背景。大資料計算的種類非常多,比較典型的,且被大規模使用的主要是3種類型:

  • 批計算
  • 流計算
  • 互動式分析計算

批計算的特點是要計算的資料量比較大,但是往往對延遲不是特别敏感。流計算對延遲的要求非常高,這些作業的查詢query往往是固定的。是以流計算作業往往需要提前排程起來,一旦資料到來就可以做快速的處理,節省了排程的開銷。

最後一種是互動式分析,這種類型的大資料計算的特點是使用者的查詢query是不固定的,這些query往往是由使用者随機的發出的。雖然查詢不固定,在這種場景下,使用者對查詢的傳回時間是有一定的要求的,這個時間介于批處理和流處理之間,越快越好,最好能做到秒級。

Apache Flink 幹貨合集打包好了,速來下載下傳

人工智能計算的種類很多,但是整體架構大多和上圖所描述的類似。一個常見的ML pipeline通常涉及一系列的資料預處理、特征提取和轉換、模型訓練以及驗證。如果驗證後的效果符合預期,就可以将模型推到線上服務。如果不符合預期,算法工程師就需要調整算法模型或者參數,然後再做一次模型的訓練和驗證,直到對結果滿意後,再将訓練好的模型推上線服務。整個計算過程可以是對一個确定大小的資料按照批計算模式計算,也可以接入實時資料按照流計算模式進行計算。上面這個pipeline是人工智能計算最基礎的流程,如果算法工程師對資料以及業務特點非常熟悉,他們就能設計出合理的算法模型和參數。但是往往更常見的情況是,算法工程師需要分析工具幫助他們了解資料。隻有在很好地了解了資料特點之後,才能提取出更有用的特征,設計出更好的模型。是以,如下圖所示,做好人工智能計算,不可或缺的一部分就是互動式分析。有了互動式分析,算法工程師可以對資料做各種ad-hoc query,進而幫助他們更好地了解資料。

Apache Flink 幹貨合集打包好了,速來下載下傳

綜上所述,可以看出人工智能計算和大資料計算是密不可分的。雖然人工智能計算變得越來越炙手可熱,人們越來越多的提及人工智能而不是大資料,但是我們不能忘記,人工智能計算的基礎是大資料計算,沒有大資料計算提供算力和功能,人工智能計算隻能停留在紙上談兵的階段。接下來,我把基于大資料計算的人工智能計算簡稱為“大資料智能計算”。

Apache Flink 幹貨合集打包好了,速來下載下傳

大資料和AI全景–2018(來源:http://mattturck.com/bigdata2018/)

那麼怎麼來搭建一套大資料智能計算系統呢?http://mattturck.com收集了所有大資料和AI的軟體和平台。上面提到的每一種大資料計算場景都有好幾種軟體的選擇,調研和選型這些軟體本身就是一項巨大的工程。即使最後為每一套場景都選型了一種軟體,那麼後期的開發疊代和運維也難做到高效。因為每一套軟體都需要專門的開發和運維團隊負責,無論是在人力還是機器資源上都不能橫向打通,勢必會造成浪費。

Apache Flink 幹貨合集打包好了,速來下載下傳

是以,阿裡巴巴一直在思考是否可能有一套計算引擎解決如上的所有問題。經過仔細的選型,我們選擇了Apache Flink,并圍繞着Flink在打造一款通用計算引擎。Flink已經被業界公認是最好的流計算引擎。

它所具有的低延遲、高吞吐、保障Exactly-once的計算模式,使得它具有金融級的大資料處理能力。在批處理方面,基于流式的flow來處理批資料有着潛在的優勢和擴充性。阿裡巴巴利用Flink的天然特性,做了若幹批計算方面的優化,使得Flink也成為了一款性能卓越的批計算引擎。在人工智能和互動式分析方面,我們也在逐漸地完善Flink的易用性,生态,以及性能。另外,不得不提的是,Flink的流處理架構還天然的适合于正在快速崛起的本質更像流計算的IoT的場景。

Apache Flink 幹貨合集打包好了,速來下載下傳

Flink的社群和生态一直在壯大。在流計算和批計算等場景慢慢使用Flink成為主流的同時,我們期望設計和推廣出更多更完善的批流融合的場景。所有對Lamda架構有訴求的應用應該都可以用Flink完美的解決。早期的Lamda架構的設計也許很快會成為曆史。

在易用性和生态方面,我們一方面幫助Flink社群在tableAPI,Python,以及ML等諸多領域發力,持續提升使用者做Data science和AI計算的體驗。另一方面,我們也在努力完善Flink和其他開源軟體的融合,包括Hive,以及Notebook(Zeppelin, Jupyter)等等。這些諸多的努力,都是為了最終實作我們“一套引擎完美解決大資料智能計算”的初衷。Apache Flink自2014年開源至今也才4年,我們期待更多的企業和開發者們和我們一起參與到Apache Flink的社群和生态建設中來,共同把它打造成為全球最一流的開源大資料引擎。

為了讓中國的開發者更近距離的接觸Apache Flink,阿裡巴巴在2018年12月20日到21日,在北京國家會議中心将承辦Flink Forward China峰會。這是Flink Forward大會第一次在亞洲舉行。屆時将有超過1000名開發人員,系統/資料架構師,資料科學家,Apache Flink核心貢獻者齊聚一堂,交流他們使用Flink的經驗和體驗。參會者也将有機會近距離聆聽和了解阿裡巴巴、滴滴、美團、位元組跳動、以及Uber等諸多top網際網路公司使用Apache Flink的最佳實踐。

Apache Flink 幹貨合集打包好了,速來下載下傳
Apache Flink 幹貨合集打包好了,速來下載下傳

識别上方二維碼,即可報名首屆Flink Forward China峰會。