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