寫在阿里Blink正式開源之際

2021-02-16 張江打工人

阿里最近要正式將內部Blink開源,搞Blink 的大牛也在 AI 前線公眾號上推了文章,介紹Blink的優勢  重磅!阿里Blink正式開源,重要優化點解讀 , 首先 spark 君對於每秒處理多少數據量,單個作業處理數據量超過400T 這些標榜不是特別在意,因為這涉及到使用了多少資源,處理時長以及使用姿勢,不說清楚就是無意義的。spark君比較在意的是文中提到的Blink的一些重要的feature,大致看有 5 個方面

Hive的兼容性,Blink:為了打通元數據,我們重構了 Flink catalog 的實現,並且增加了兩種 catalog,一個是基於內存存儲的 FlinkInMemoryCatalog,另外一個是能夠橋接 Hive metaStore 的 HiveCatalog。有了這個 HiveCatalog,Flink 作業就能讀取 Hive 的 metaData,  spark君:這個功能怎麼看怎麼像從 spark 這邊抄過來的,至少是借鑑,我們都知道,spark 定義了ExternalCatalog 用來管理操作資料庫表或者註冊函數等,然後分為 InMemoryCatalog 和HiveExternalCatalog ,連名字都差不多,到底是誰抄誰呢,spark君在平時使用中,感覺 spark sql 除了 像 hive 中帶有buckets的table 等極少數幾個操作不支持,spark 君敢說 Spark SQL支持絕大部分的Hive特徵。 SQL/TableAPI的優化,Blink: 我們對 SQL engine 的架構做了較大的調整。提出了全新的 Query Processor(QP), 它包括了一個優化層(Query Optimizer)和一個算子層(Query Executor)。這樣一來,流計算和批計算的在這兩層大部分的設計工作就能做到儘可能地復用,   spark 君:這個就對應 spark sql 裡面的邏輯優化和物理執行兩個流程吧,這個在這裡就不用多說了吧,spark君一直孜孜不倦的給小夥伴們普及 spark邏輯優化和物理優化都做了什麼,感覺spark在這塊都優化的不能再優化了。至於說到 流批覆用,我就默默提一下 structured streaming ,  完全架構在 spark sql 之上,一張無限流動的大表。看文章中重點強調的 BinaryRow 和  codegen 優化方式,這都是 spark 玩了很久很久的東西了,不了解的小夥伴,需要多看看相關的,後續spark君會專門抽文章介紹。更好的runtime支持,Blink: 首先 Blink 引入了 Pluggable Shuffle Architecture,開發者可以根據不同的計算模型或者新硬體的需要實現不同的 shuffle 策略進行適配。此外 Blink 還引入新的調度架構,容許開發者根據計算模型自身的特點定製不同調度器。說道這個,spark君表示我對 spark 官方最佩服的一點就是源碼裡面體現出來的高度工程抽象能力,高內聚,低耦合,面向變化和接口編程,早早就支持調度全家桶了(standalone, yarn, mesos, k8s  spark2.3 之後也是原生的哦)。Zeppelin for Flink,  zeppelin 就是個腳手架和大雜燴,spark也早早的入坑了,這個是小功能,就不說了。 Flink Web, Blink 這次介紹出來的多種指標展示維度,看著不錯,其實我對 spark 的界面是有些不滿意的,特別是 針對 structured streaming 的指標展示,還是比較弱。

下面是 一位 spark 大牛的文章,裡面很多觀點和我的一致,在這裡轉發給大家看下:

前言

今天朋友圈有篇【阿里技術】發的文章,說Blink的性能如何強悍,功能現在也已經比較完善。譬如:

Blink 在 TPC-DS 上和 Spark 相比有著非常明顯的性能優勢,而且這種性能優勢隨著數據量的增加而變得越來越大。在實際的場景這種優勢已經超過 Spark 三倍,在流計算性能上我們也取得了類似的提升。我們線上的很多典型作業,性能是原來的 3 到 5 倍。在有數據傾斜的場景,以及若干比較有挑戰的 TPC-H query,流計算性能甚至得到了數十倍的提升。


什麼時候可以享受這波紅利


還要等待一段時間。要想享受Blink的加持,大家可能還要等待一段時間,因為除了功能合併,還有代碼質量。代碼質量理論上應該是沒有原生flink好的。這個需要時間,不是靠人力就能搞定的。

一點憂思


阿里收購Flink母公司,然後馬上發通告,說blink要合併進flink了,之前還是商量口吻。顯然,這對於社區來說,是一個非常不友好的感覺。我猜測,社區部分優秀的人才(包括母公司)肯定會有人走的。開源項目對於PR的質量除了功能,更多的是架構,代碼質量等等的考量。

那和Spark的對比怎麼樣?


Spark 和 Flink不在一個level級別戰鬥。Spark 從誕生沒多久開始,就朝著AI方向發展,包括內置的mllib,深度學習後也馬上抓住機遇,在2.2.x之後發力,DB公司開發了一套生態輔助系統,比如Spark deep Learning,Tensorframes, GraphFrames等等,另外還有眾多第三方框架的加持。2.3-2.4在商業版本裡則已經集成了如horovod等分布式深度學習框架,所以說,2.2.x之後,Spark的主戰場早就已經是AI,而 Flink依然停留在流,批戰場。

Flink,Spark性能好對機器學習有啥影響


有人會問,機器學習對性能不是很在乎麼?現在flink性能據說那麼好?到底有多好,這是一家之言,但是 在這些框架裡
性能在AI方面不是很重要,因為他們對AI重在集成,而不是自己實現。這就意味著瓶頸是在數據交換以及AI框架自身之上。模型構件好進行預測,也是對應的AI框架自己去加載,提供預測接口,其他只是wrap一層而已。

盛夏即將發布的3.0則對AI更加友好,包括CPU/GPU的管理,K8s backend, 數據交換(Spark - AI框架)的提速,內部Barrier API 的等進一步的完,顯然讓Spark在AI領域進一步保持優勢


和AI集成的基礎,Spark以有所沉澱


和AI集成的好壞,取決於Java/Scala語言和Python語言的互通的質量。Spark 在1.6之前就已經支持Python,經過這麼多年的優化,已經有了很好的經驗,最新的arrow引入讓速度更是成兩位數的提升。

Flink 盛夏之下的喧鬧


這次關於bink 合併進flink的通告不是由社區主導發送,而是阿里技術發送,顯然有喧賓奪主的意味,會加大他們(母公司和阿里巴巴)融合的難度。極端點,Flink可能就由一個社區項目變成一個公司產品。阿里開源了那麼多東西,有幾個達到了真正的國際影響力,並且處於持續的發展之中的?公司加持對於社區而言,短期是利好,但是如果幹預多了,長期就不被看好了。

Presto是facebook開源的並且運作,一切以滿足公司需求為最高優先級,雖然presto很優秀,但是社區沒有主導權,極大的限制了他的發展,終於發生了分裂(大家可以自己搜搜)。

最後加一句


不要再拿Spark streaming 和Flink比了,請拿Structured streaming 以及Continue Processing 來和Flink比。為啥國內還在拿Spark Streaming 和Flink比?

因為慣性使然,structured streaming 新引入了一堆概念,並且限制也比較多,spark streaming大家把之前該遇到的問題都遇到了,而且也有一定的積累,要切換就沒那麼容易了。加上flink有阿里加持,宣傳勢頭很大,可能有的直接就從,spark streaming 切到flink去了。

大家都在看

關注【spark技術分享】

一起擼spark源碼,一起玩spark最佳實踐

相關焦點

  • 阿里10 年風雨開源路,致敬所有開源人!
    在這封感謝信裡,賈揚清向我們講述了過去阿里開源之路是如何開始的,未來阿里的開源之路將會走向何方,以及阿里開源貢獻更多技術、分享更多理念的期待。開源軟體不僅影響了企業的發展方向,同時開源能力也漸漸成為企業技術實力的象徵之一。阿里對社區開源的巨大貢獻不光表現在開源項目上,也表現在企業發展計劃中。其開源技術委員會負責人賈揚清在採訪中表示,將開源升級為集團技術戰略之一。
  • 獨家專訪阿里高級技術專家北緯:Dubbo開源重啟半年來的快意江湖
    阿里的江湖裡有武俠情結北緯是在2014年7月份進入阿里的,就在將近2個月內,阿里在紐約證券交易所正式掛牌上市。他算是見證了阿里成長的老員工,目前主要負責中間件小組工作、微服務、RPC框架等內容。2012 年,阿里巴巴在 GitHub 上開源Dubbo,許多開發者及公司都青睞於使用Dubbo來解決服務化問題。去年11月份,阿里宣布重啟Dubbo開源,那麼目前Dubbo的開源進展如何?
  • 阿里正式開源輕量級深度學習端側推理引擎「MNN」
    阿里近日正式開源了輕量級深度學習端側推理引擎「MNN」。與 Tensorflow、Caffe2 等同時覆蓋訓練和推理的通用框架相比,MNN 更注重在推理時的加速和優化,在大規模機器學習應用中具有優勢。本文詳細闡述了MNN背後的技術框架和規劃。 近日,阿里正式開源輕量級深度學習端側推理引擎「MNN」。
  • 阿里正式開源通用算法平臺Alink,「雙11」將天貓推薦點擊率提升4%
    除了支持阿里自己的平臺外,還支持 Kafka,HDFS 和 HBase 等一系列開源數據存儲平臺。 阿里雲計算和機器智能部門表示,開發者和數據分析師可以利用開原始碼來構建軟體功能,例如統計分析、機器學習、實時預測、個性化推薦和異常檢測。而 Alink 提供的一系列算法,可以幫助處理機器學習任務,例如 AI 驅動的客戶服務和產品推薦。
  • 阿里開源量子模擬器 「太章 2.0」
    近日,阿里巴巴達摩院宣布開源自研量子計算模擬器 「太章 2.0」及一系列量子應用案例,集成到阿里雲量子開發平臺
  • 阿里新一代實時計算引擎:Blink
    其中 Flink 的一致性語義和最接近 Dataflow 模型的開源實現,使其成為流計算框架中最耀眼的一顆。也許這也是阿里看中 Flink的原因,並決心投入重金去研究基於 Flink的 Blink框架。
  • 阿里發布圖計算平臺GraphScope,即將向全社會開源
    11月9日,在第二屆世界科技與發展論壇上,阿里發布全球首個一站式超大規模分布式圖計算平臺GraphScope,併入選中國科學技術協會「科創中國」平臺。GraphScope將於12月開源。  (圖說:阿里發布一站式圖計算平臺GraphScope)  圖可自然表達數據之間複雜的關聯與結構特徵,圖計算能有效挖掘和利用這種關聯信息,成為數字原生時代的關鍵技術之一。然而由於圖計算場景和算法過於多樣,特別是面向海量圖數據的處理,計算複雜度高、資源開銷巨大,大規模圖計算應用難以普及。
  • 阿里開源混沌工程工具 ChaosBlade
    近日,阿里開源了混沌工程工具 ChaosBlade。
  • F2etest v2.0.0 正式發布 ,阿里巴巴開源測試方案
    寫在前面經過1年的儲備及醞釀,F2etest v2.0.0終於如期發布了!
  • 繼XDL 之後,阿里媽媽開源大規模分布式圖表徵學習框架 Euler
    雷鋒網 AI 科技評論消息,繼去年 11 月開源面向高維稀疏數據場景的深度優化工具 X-Deep Learning(截至發稿,GitHub Star 數已達到 1972)之後,阿里媽媽團隊於今日正式開源大規模分布式圖表徵學習框架 Euler,這一框架具有四大特點:大規模圖的分布式學習
  • 阿里宣布開源 Weex,用 Web 方式開發 Native 性能體驗應用
    與現有的開源跨平臺移動開放項目如Facebook的React Native和微軟的Cordova相比,Weex更加輕量,體積小巧。因為基於web conponent標準,使得開發更加簡潔標準,方便上手。Native組件和API都可以橫向擴展,方便根據業務靈活定製。Weex渲染層具備優異的性能表現,能夠跨平臺實現一致的布局效果和實現。
  • 成立20周年之際,阿里感恩杭州:謝謝你,讀懂我們最初的夢想
    9月7日,從杭州起家的阿里在成立20周年之際向杭州致敬,給家鄉杭州寫了一封信:「謝謝你,杭州,讀懂我們最初的夢想。」「眼見萬丈高樓平地起,又見無限江山物是人非」,這是中國擁抱網際網路20多年的漫漫徵程中,網際網路企業興衰成敗的縮影。而阿里無疑已經成為中國網際網路史中不可泯滅的一部分,從1999到2019,阿里巴巴始終與杭州血脈相連。
  • 阿里即將開源 ApsaraCache,雲資料庫 Redis 版分支
    ApsaraCache 開源內容2017 年 9 月2017 年 11 月2018 年 1 月摘錄自:阿里開源
  • 點亮「世界屋脊的屋脊」——寫在西藏阿里告別「電網孤島」之際
    新華社記者 張汝鋒 攝12月4日,西藏阿里與藏中電網聯網工程正式投運,西藏也由此迎來了主電網覆蓋全區7地市、74縣(區)的統一電網標誌時刻。消息傳來,退休在家的彭措老人淚水漣漣,激動不已。在阿里工作40多年,彭措一直為這裡的缺電少電奔走。
  • 阿里中間件開源組件 Sentinel 發布首個官方推薦可生產版本
    近日,阿里中間件開源組件Sentinel 發布首個官方推薦可生產版本:1.3.0-GA ,該版本包括 Sentinel 控制臺功能的完善和一些
  • 小路由大智慧 阿里智能聯合天貓電器城發布智能兒童路由器
    5月17日下午,阿里智能、天貓電器城攜手主流路由器品牌商網件、blink、睿因、螞蟻邦,以及技術服務商觸雲,在阿里巴巴西溪園區召開了發布會,並發布了4款合作的兒童路由器,這意味著阿里智能進入智能細分市場,智能市場的競爭升級。
  • BLACKPINK稀有照片,BLINK快來收圖
    BLACKPINK2016年8月8日,發行首張單曲專輯《SQUARE ONE》並正式出道,該單曲專輯在印尼、馬來西亞等十四個國家的iTunes專輯榜中奪得冠軍;同年8月21日,憑藉《WHISTLE》獲《人氣歌謠》一位,創下韓國女團最快獲得一位的紀錄。
  • 評Ant Design聖誕節彩蛋事件,阿里是不是有違開源精神?
    這有違作為工具型框架的設計原則,也有違開源精神,事情是這樣的:聖誕節這天,Ant Design在該UI框架留下後門,讓用到該框架的項目都自動加載出聖誕彩蛋,誠然,打卡君認為這個創意的初衷是好的,但它嚴重違背了開源精神,把個人的喜好強加給使用開源框架的人。
  • 賈揚清感謝千萬開源人的背後,是國內開源領域的未來……
    信中還回顧了阿里做開源的初衷,以及對歷史的回顧、對未來開源領域的展望,我們先來看看他在這封信中說了什麼吧。2010 年夏天,阿里工程師在杭州開源了第一個項目。10 年之後,阿里開源項目數已超過一千個,覆蓋大數據、雲原生、AI 、資料庫、中間件、硬體等多個領域,全世界有七十多萬朋友為我們點亮 GitHub Star,成千上萬的人參與到項目貢獻中。
  • 開源項目 Qomo Linux3.0版本正式發布
    【IT168 資訊】Qomo Linux項目是以Linux人社區為依託,採用社區開發方式,以開源軟體推廣普及和提高為宗旨的Linux社區版本開發項目。項目的目標是提供一款最新、最酷、最快,輕量級、模塊化的Linux作業系統;並以此為平臺,探索各種Linux前沿技術,開發出更多具有影響力和生命力的軟體項目.