首發!Apache Flink 乾貨合集打包好了,速來下載

阿里技術_發表於2018-11-29

640?wx_fmt=png


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


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


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

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

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


640?wx_fmt=jpeg

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

 

長按識別以下二維碼,關注“阿里技術”官方公眾號,回覆“Flink”,即可免費線上閱讀、下載此書。

640?wx_fmt=jpeg

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


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

 

640?wx_fmt=png

 

在全面介紹Flink的新進展之前,我先來介紹一些大資料和人工智慧計算的背景。大資料計算的種類非常多,比較典型的,且被大規模使用的主要是3種型別:


  • 批計算

  • 流計算

  • 互動式分析計算


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


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


640?wx_fmt=png


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

 

640?wx_fmt=png


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


640?wx_fmt=png

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

 

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

 

640?wx_fmt=png


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


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

 

640?wx_fmt=png


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的最佳實踐。


640?wx_fmt=png


識別上方二維碼,或者點選文末“閱讀原文”,即可報名首屆Flink Forward China峰會


640?wx_fmt=gif

你可能還喜歡

點選下方圖片即可閱讀


640?wx_fmt=jpeg

阿里巴巴為什麼選擇Apache Flink?


640?wx_fmt=jpeg

首次公開!2018雙11技術數字全記錄


640?wx_fmt=jpeg

雙11大隊長霜波:

從手忙腳亂到胸有成竹,我們如何走過這十年?


640?wx_fmt=jpeg


關注「阿里技術」

把握前沿技術脈搏

相關文章