前言
今天朋友圈有篇【阿里技術(shù)】發(fā)的文章,說Blink的性能如何強(qiáng)悍,功能現(xiàn)在也已經(jīng)比較完善。譬如:
Blink 在 TPC-DS 上和 Spark 相比有著非常明顯的性能優(yōu)勢,而且這種性能優(yōu)勢隨著數(shù)據(jù)量的增加而變得越來越大。在實(shí)際的場景這種優(yōu)勢已經(jīng)超過 Spark 三倍,在流計(jì)算性能上我們也取得了類似的提升。我們線上的很多典型作業(yè),性能是原來的 3 到 5 倍。在有數(shù)據(jù)傾斜的場景,以及若干比較有挑戰(zhàn)的 TPC-H query,流計(jì)算性能甚至得到了數(shù)十倍的提升。
什么時候可以享受這波紅利
還要等待一段時間。要想享受Blink的加持,大家可能還要等待一段時間,因?yàn)槌斯δ芎喜?,還有代碼質(zhì)量。代碼質(zhì)量理論上應(yīng)該是沒有原生flink好的。這個需要時間,不是靠人力就能搞定的。
一點(diǎn)憂思
阿里收購Flink母公司,然后馬上發(fā)通告,說blink要合并進(jìn)flink了,之前還是商量口吻。顯然,這對于社區(qū)來說,是一個非常不友好的感覺。我猜測,社區(qū)部分優(yōu)秀的人才(包括母公司)肯定會有人走的。開源項(xiàng)目對于PR的質(zhì)量除了功能,更多的是架構(gòu),代碼質(zhì)量等等的考量。
那和Spark的對比怎么樣?
Spark 和 Flink不在一個level級別戰(zhàn)斗。Spark 從誕生沒多久開始,就朝著AI方向發(fā)展,包括內(nèi)置的mllib,深度學(xué)習(xí)后也馬上抓住機(jī)遇,在2.2.x之后發(fā)力,DB公司開發(fā)了一套生態(tài)輔助系統(tǒng),比如Spark deep Learning,Tensorframes, GraphFrames等等,另外還有眾多第三方框架的加持。2.3-2.4在商業(yè)版本里則已經(jīng)集成了如horovod等分布式深度學(xué)習(xí)框架,所以說,2.2.x之后,Spark的主戰(zhàn)場早就已經(jīng)是AI,而 Flink依然停留在流,批戰(zhàn)場。
Flink,Spark性能好對機(jī)器學(xué)習(xí)有啥影響
有人會問,機(jī)器學(xué)習(xí)對性能不是很在乎么?現(xiàn)在flink性能據(jù)說那么好?到底有多好,這是一家之言,但是 在這些框架里
性能在AI方面不是很重要,因?yàn)樗麄儗I重在集成,而不是自己實(shí)現(xiàn)。這就意味著瓶頸是在數(shù)據(jù)交換以及AI框架自身之上。模型構(gòu)件好進(jìn)行預(yù)測,也是對應(yīng)的AI框架自己去加載,提供預(yù)測接口,其他只是wrap一層而已。
盛夏即將發(fā)布的3.0則對AI更加友好,包括CPU/GPU的管理,K8s backend, 數(shù)據(jù)交換(Spark - AI框架)的提速,內(nèi)部Barrier API 的等進(jìn)一步的完,顯然讓Spark在AI領(lǐng)域進(jìn)一步保持優(yōu)勢
和AI集成的基礎(chǔ),Spark以有所沉淀
和AI集成的好壞,取決于Java/Scala語言和Python語言的互通的質(zhì)量。Spark 在1.6之前就已經(jīng)支持Python,經(jīng)過這么多年的優(yōu)化,已經(jīng)有了很好的經(jīng)驗(yàn),最新的arrow引入讓速度更是成兩位數(shù)的提升。
Flink 盛夏之下的喧鬧
這次關(guān)于bink 合并進(jìn)flink的通告不是由社區(qū)主導(dǎo)發(fā)送,而是阿里技術(shù)發(fā)送,顯然有喧賓奪主的意味,會加大他們(母公司和阿里巴巴)融合的難度。極端點(diǎn),F(xiàn)link可能就由一個社區(qū)項(xiàng)目變成一個公司產(chǎn)品。阿里開源了那么多東西,有幾個達(dá)到了真正的國際影響力,并且處于持續(xù)的發(fā)展之中的?公司加持對于社區(qū)而言,短期是利好,但是如果干預(yù)多了,長期就不被看好了。
Presto是facebook開源的并且運(yùn)作,一切以滿足公司需求為最高優(yōu)先級,雖然presto很優(yōu)秀,但是社區(qū)沒有主導(dǎo)權(quán),極大的限制了他的發(fā)展,終于發(fā)生了分裂(大家可以自己搜搜)。
最后加一句
不要再拿Spark streaming 和Flink比了,請拿Structured streaming 以及Continue Processing 來和Flink比。為啥國內(nèi)還在拿Spark Streaming 和Flink比?
因?yàn)閼T性使然,structured streaming 新引入了一堆概念,并且限制也比較多,spark streaming大家把之前該遇到的問題都遇到了,而且也有一定的積累,要切換就沒那么容易了。加上flink有阿里加持,宣傳勢頭很大,可能有的直接就從,spark streaming 切到flink去了。