精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

大數(shù)據(jù)那些事:從Spark到Spark

責(zé)任編輯:editor007

作者:徐飛

2017-03-06 20:56:23

摘自:51CTO

我想Spark這個(gè)作為從UCBerkeley出來的項(xiàng)目,從最初的高可用性,到開始建立的生態(tài)圈,到后來的發(fā)展,乃至自身的糾錯(cuò),方方面面毫無疑問都證明了現(xiàn)在Spark無疑是大數(shù)據(jù)開源項(xiàng)目里面最具影響力的項(xiàng)目之一,而且其影響力應(yīng)該會(huì)是越來越大。

Spark,當(dāng)前大數(shù)據(jù)領(lǐng)域最活躍的開源項(xiàng)目。好幾個(gè)人想讓我寫寫Spark了,說實(shí)話我覺得對(duì)Spark來說有點(diǎn)難寫。Spark的論文我倒多半讀過,但是Spark的系統(tǒng)就沒怎么用過了。所以以一個(gè)沒有實(shí)際使用經(jīng)驗(yàn)的人去寫這樣一個(gè)當(dāng)紅的系統(tǒng), 我也不知道樓會(huì)歪到哪里去。

大家可能覺得這個(gè)標(biāo)題很奇怪,確實(shí),當(dāng)我們開始談?wù)揝park的時(shí)候,我們需要區(qū)分一下最初Matei Zaharia論文里寫的Spark,還是今天開源社區(qū)廣泛使用的Spark。Spark和其他的開源項(xiàng)目有一個(gè)最大的不同,一開始是作為研究項(xiàng)目從學(xué)校里面出來的,現(xiàn)在則更多的是一個(gè)工業(yè)界使用的項(xiàng)目。研究和工業(yè)界的產(chǎn)品之間的差距,對(duì)于我這種讀過PhD做過那樣的系統(tǒng)和今天在寫商用系統(tǒng)的人來說,之間的區(qū)別還是大概可以說的。

舉個(gè)例子來說,關(guān)系數(shù)據(jù)庫里面最成功的研究系統(tǒng),同樣是伯克利出品的Ingres顯然少不了。Ingres后來也商用了,被Oracle打敗了。現(xiàn)在最成功的商用系統(tǒng)則應(yīng)該是Oracle。所以此Spark非彼Spark。

2016年在印度開VLDB,晚上吃飯的時(shí)候旁邊坐著的是從OS領(lǐng)域來客串DB會(huì)議的一個(gè)知名教授。喝了酒之后是相當(dāng)?shù)某鲅圆贿d。大致的意思說,database這幾年是越混越不行了,你看所謂的BigData主要都是我們OS的人在做,從早年的MapReduce,BigTable,到現(xiàn)在當(dāng)紅的Spark,哪個(gè)不是我們OS的人做出來的。這些人把論文投到了DB的會(huì)議,一個(gè)一個(gè)被拒了。周圍一群正統(tǒng)做DB的人都不知道怎么接這個(gè)話。

當(dāng)時(shí)就讓我想起了可能是2011年的事情了,時(shí)間不太記得。但是我一個(gè)開始做DB轉(zhuǎn)做OS的PhD朋友,后來成了著名教授,給我轉(zhuǎn)了Spark的論文,問我有什么感受。我算得上初生牛犢吧,和對(duì)方的回復(fù)很簡單啊,這篇論文投到database的會(huì)議來,肯定被拒啊。這是大名鼎鼎的Spark,如今業(yè)界無數(shù)公司在用的Spark。那么現(xiàn)在是2017年了,我回頭問我自己,倘若那篇文章今天投稿到一個(gè)DB的會(huì)議,有假設(shè)才剛做出來,沒多大名氣,而我是審稿人之一,結(jié)果會(huì)是什么樣。這個(gè)問題我問自己好幾回,最后的答案是,倘若投了industry track,多半是發(fā)了,要是投到research track,基本上還是據(jù)。

各位看官看不明白了。數(shù)據(jù)庫領(lǐng)域的會(huì)議,對(duì)于創(chuàng)新性的要求很高,對(duì)系統(tǒng)的可用性要求沒那么高。說白了如果說思想是先進(jìn)的,那么這個(gè)系統(tǒng)只是能跑幾個(gè)查詢,也就發(fā)了,至于有多少個(gè)bug,是不是能在實(shí)際中很好的用,就不好說了。而Spark如果作為一個(gè)研究項(xiàng)目,從創(chuàng)新性的角度去看,至少最初的那個(gè)版本,不管是RDD也好,還是作為一個(gè)通用的DAG execution engine也好,不是新鮮東西。舉幾個(gè)例子,Dryad, DryadLinq,F(xiàn)lumeJava這些發(fā)表更早或者同期的論文里面,都有著相似的思想,而我每次聽Spark早年的體系架構(gòu)講座,感覺就是我在微軟開組會(huì)看內(nèi)部文檔經(jīng)常看到的東西。只是在那個(gè)時(shí)候open-source圈子里并無這樣的東西存在。

有個(gè)大八卦是我有次和UT Austin一教授聊天的時(shí)候聽說的,Spark的作者M(jìn)atei當(dāng)年畢業(yè)去面試UT Austin,作為有圖靈獎(jiǎng)的計(jì)算機(jī)系,Austin的老教授們聽完他做的這個(gè)東西,頗不以為然,覺得這東西沒啥新意,然后就把大神給據(jù)了。我講這個(gè)八卦絕非鄙視大神,一個(gè)能進(jìn)MIT去stanford的人,能把Spark從無到有帶那么大的人,毫無疑問是大神。但是數(shù)據(jù)庫這個(gè)圈子里的人非常的強(qiáng)調(diào)創(chuàng)新性,而并不是那樣的強(qiáng)調(diào)可用性。這到底是好事還是壞事,我時(shí)常在想這個(gè)問題,也想不清楚。相反而言O(shè)S的圈子對(duì)于系統(tǒng)實(shí)用性的在意程度,明顯比DB這個(gè)圈子更接地氣,而不是過度去追求那些虛無縹緲的創(chuàng)新性。我想過度的追求原創(chuàng)性,而不重視可用性,也是一種病。

但是毫無疑問,Spark是迄今為止由學(xué)校主導(dǎo)的最為成功的開源大數(shù)據(jù)項(xiàng)目,幾乎很難再有之二了。那么撇開這一個(gè)所謂的創(chuàng)新性我們來看看Spark為什么會(huì)那么成功。天時(shí)地利人和,其實(shí)我覺得Spark都做得很好。

Hadoop流行起來的時(shí)候,MapReduce很大程度上是被綁在了Hadoop上。MapReduce的弊病當(dāng)然也很快被大家發(fā)現(xiàn),尤其做機(jī)器學(xué)習(xí)的開源軟件Mahout早年在MapReduce上寫,那叫一個(gè)坑爹。業(yè)界有需求,那是非常明確的。

UCBerkeley作為一個(gè)傳統(tǒng)上非常有名的系統(tǒng)學(xué)校,它曾經(jīng)出過的系統(tǒng)都有一個(gè)非常明確的特點(diǎn),可用性非常高。大凡高校做研究,學(xué)生做的東西,bug那基本上是滿天飛,很難真正在產(chǎn)品里面能用。行百里者半九十。這最后的十里,毫無疑問,絕大部分學(xué)校放棄了。譬如說華盛頓大學(xué)的某知名系統(tǒng),很多查詢號(hào)稱都比Spark快很多,但是架不住bug多沒有人敢用啊。UCBerkeley這方面和別的學(xué)校很不一樣,大概是早年Michael Stonebraker留下來的傳統(tǒng)吧。系統(tǒng)做得都是非常的可用,最初的版本的系統(tǒng)的穩(wěn)定性,雖然也會(huì)遇到很多頭疼的問題,但是一般來說作為一個(gè)通用系統(tǒng),可用性是非常的高。這在Spark上也是毫無疑問的體現(xiàn)出來了。

加上灣區(qū)是一個(gè)很特殊的地方,新東西出來,summit開起來,就會(huì)有很多公司去嘗試,嘗試著,好東西大浪淘沙,就很快被淘出來了。所以Spark能夠流行起來也是不奇怪的。

而且Spark的團(tuán)隊(duì)顯然非常的知道在什么時(shí)候應(yīng)該做什么。Spark最初建立的生態(tài)圈的重點(diǎn)主要放在了圖算法和機(jī)器學(xué)習(xí)上。雖然說也做一點(diǎn)累世SQL on Hadoop的東西。但是當(dāng)時(shí)HIVE作為敵人太強(qiáng)大,而Mahout什么的還有各類圖算法的庫,相對(duì)來說就弱多了,也有需求,所以最初的生態(tài)圈建立的非常的成功。

成功的站穩(wěn)了根據(jù)地以后又很早的和工業(yè)界進(jìn)行了各種合作,Spark在非常早的時(shí)候就和Intel的人合作了,那個(gè)時(shí)候有工業(yè)界的人進(jìn)來我想肯定是很大的助力。現(xiàn)在自然更不用說,自從大數(shù)據(jù)以來就做百變金剛天天換技術(shù)的IBM最后終于把自己的未來綁在了Spark的戰(zhàn)車上,算得上是一個(gè)很好的例子。

Spark團(tuán)隊(duì)在商業(yè)上布局很少犯錯(cuò)誤。我過去幾年里注意到比較明顯的錯(cuò)誤是Shark這個(gè)東西。在Spark上面再搭一個(gè)東西做SQL on Hadoop還是說要把SQL做進(jìn)Spark里面去,這個(gè)選擇,我一直以來都認(rèn)為SQL應(yīng)該做進(jìn)其他東西里面去做為一個(gè)component,這才是BigData Analytics未來的正確道路。那種SQL on Hadoop的產(chǎn)品有其生存空間,但也就這樣了。Shark明顯是一個(gè)沒有發(fā)揮Spark威力而把Spark引向錯(cuò)誤道路的項(xiàng)目。但是很快的這個(gè)項(xiàng)目就停了,Spark SQL出來了,DataFrame也出來了。不得不說,這是Spark團(tuán)隊(duì)在關(guān)鍵時(shí)候做了一次非常重要而正確的歷史選擇。如果當(dāng)初繼續(xù)做Shark,我想可能是另外一個(gè)局面了。 另外一個(gè)需要提一句的是BlinkDB這個(gè)項(xiàng)目,也是這個(gè)團(tuán)隊(duì)里面少數(shù)在我看來犯了錯(cuò)誤的項(xiàng)目,但是這個(gè)項(xiàng)目應(yīng)該也停止多年了。

我在2014年決定離開微軟的時(shí)候,投過很多企業(yè),也包括databricks。簡歷在對(duì)方系統(tǒng)里面出了點(diǎn)問題,過了若干個(gè)月以后,我在Tableau工作大概已經(jīng)一個(gè)月了,接到對(duì)方的回復(fù)說我簡歷給遺漏了,問我是不是愿意再去面試。大家都知道,找工作是個(gè)辛苦事,一鼓作氣,再而衰,三而竭。在新公司一個(gè)月就去面試然后離職,確實(shí)說不過去,而且當(dāng)時(shí)我的狀態(tài)已經(jīng)是面試完徹底出了一口氣的懶散狀態(tài),真去面試估計(jì)應(yīng)該也會(huì)面掛掉,所以我也就這樣和Databricks錯(cuò)失了一次面試的機(jī)會(huì)。

我想Spark這個(gè)作為從UCBerkeley出來的項(xiàng)目,從最初的高可用性,到開始建立的生態(tài)圈,到后來的發(fā)展,乃至自身的糾錯(cuò),方方面面毫無疑問都證明了現(xiàn)在Spark無疑是大數(shù)據(jù)開源項(xiàng)目里面最具影響力的項(xiàng)目之一,而且其影響力應(yīng)該會(huì)是越來越大。

【本文為51CTO專欄作者“徐飛”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過作者微信公眾號(hào)“飛總的IT世界面面觀”獲取聯(lián)系和授權(quán)】

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2025 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 如东县| 田阳县| 陇南市| 石屏县| 临邑县| 班戈县| 广南县| 得荣县| 雷州市| 金门县| 平谷区| 红河县| 沂源县| 司法| 思茅市| 兴城市| 夏津县| 阿合奇县| 龙南县| 兴隆县| 安吉县| 和田市| 平陆县| 襄汾县| 望都县| 峨边| 都江堰市| 康定县| 石渠县| 文昌市| 珠海市| 庆安县| 行唐县| 舞钢市| 民丰县| 漳浦县| 卢龙县| 溧阳市| 重庆市| 顺义区| 浪卡子县|