大數(shù)據(jù)前景分析:Hadoop將被Spark替代涤躲?

姓名:張瀚鐸? ? ? 學(xué)號:17021211233

【嵌牛導(dǎo)讀】:談到大數(shù)據(jù),相信大家對hadoop和Apache Spark這兩個名字并不陌生糜颠。然而汹族,最近業(yè)界有一些人正在大張旗鼓的宣揚Hadoop將死,Spark將立其兴。他們究竟是危言聳聽?嘩眾取寵?還是眼光獨到堪破未來呢?與Hadoop相比顶瞒,Spark技術(shù)如何?現(xiàn)工業(yè)界大數(shù)據(jù)技術(shù)都在使用何種技術(shù)?如果現(xiàn)在想要參加大數(shù)據(jù)培訓(xùn)的話,應(yīng)該從哪一種開始呢?

【嵌牛鼻子】:大數(shù)據(jù)? ?數(shù)據(jù)可視化? ?數(shù)據(jù)分析

【嵌牛提問】:Hadoop將被Spark替代元旬?

【嵌牛正文】:

談到大數(shù)據(jù)榴徐,相信大家對hadoop和Apache Spark這兩個名字并不陌生。然而法绵,最近業(yè)界有一些人正在大張旗鼓的宣揚Hadoop將死箕速,Spark將立。他們究竟是危言聳聽?嘩眾取寵?還是眼光獨到堪破未來呢?與Hadoop相比朋譬,Spark技術(shù)如何?現(xiàn)工業(yè)界大數(shù)據(jù)技術(shù)都在使用何種技術(shù)?如果現(xiàn)在想要參加大數(shù)據(jù)培訓(xùn)的話盐茎,應(yīng)該從哪一種開始呢?

(1)先說二者之間的區(qū)別吧。

首先徙赢,Hadoop與Spark解決問題的層面不同字柠。

Hadoop和Apache Spark兩者都是大數(shù)據(jù)框架,但是各自存在的目的不盡相同狡赐。Hadoop實質(zhì)上更多是一個分布式數(shù)據(jù)基礎(chǔ)設(shè)施: 它將巨大的數(shù)據(jù)集分派到一個由普通計算機組成的集群中的多個節(jié)點進行存儲窑业,意味著您不需要購買和維護昂貴的服務(wù)器硬件。

同時枕屉,Hadoop還會索引和跟蹤這些數(shù)據(jù)常柄,讓大數(shù)據(jù)處理和分析效率達到前所未有的高度。Spark搀擂,則是那么一個專門用來對那些分布式存儲的大數(shù)據(jù)進行處理的工具西潘,它并不會進行分布式數(shù)據(jù)的存儲。

其次哨颂,還有一點也值得注意——這兩者的災(zāi)難恢復(fù)方式迥異喷市。因為Hadoop將每次處理后的數(shù)據(jù)都寫入到磁盤上,所以其天生就能很有彈性的對系統(tǒng)錯誤進行處理威恼。

Spark的數(shù)據(jù)對象存儲在分布于數(shù)據(jù)集群中的叫做彈性分布式數(shù)據(jù)集(RDD: Resilient Distributed Dataset)中品姓。這些數(shù)據(jù)對象既可以放在內(nèi)存,也可以放在磁盤箫措,所以RDD同樣也可以提供完成的災(zāi)難恢復(fù)功能腹备。

由于兩者的側(cè)重點不同,使用場景不同斤蔓,大講臺老師認為其實并沒有替代之說植酥。Spark更適合于迭代運算比較多的ML和DM運算。因為在Spark里面附迷,有RDD的概念惧互。RDD可以cache到內(nèi)存中,那么每次對RDD數(shù)據(jù)集的操作之后的結(jié)果喇伯,都可以存放到內(nèi)存中喊儡,下一個操作可以直接從內(nèi)存中輸入,省去了MapReduce大量的磁盤IO操作稻据。但是艾猜,我們也要看到spark的限制:內(nèi)存。我認為Hadoop雖然費時捻悯,但是在OLAP等大規(guī)模數(shù)據(jù)的應(yīng)用場景匆赃,還是受歡迎的。目前Hadoop涵蓋了從數(shù)據(jù)收集今缚、到分布式存儲算柳,再到分布式計算的各個領(lǐng)域,在各領(lǐng)域都有自己獨特優(yōu)勢姓言。

(2)為什么有這么多人不看好Hadoop瞬项,力捧Spark呢?

很多人在談到Spark代替Hadoop的時候,其實很大程度上指的是代替MapReduce何荚。

MapReduce的缺陷很多囱淋,最大的缺陷之一是Map + Reduce的模型。這個模型并不適合描述復(fù)雜的數(shù)據(jù)處理過程餐塘。很多公司把各種奇怪的Machine Learning計算用MR模型描述妥衣,不斷挖掘MR潛力,對系統(tǒng)工程師和Ops也是極大挑戰(zhàn)了戒傻。很多計算税手,本質(zhì)上并不是一個Map,Shuffle再Reduce的結(jié)構(gòu)稠鼻,比如我編譯一個SubQuery的SQL冈止,每個Query都做一次Group By,我可能需要Map候齿,Reduce+Reduce熙暴,中間不希望有無用的Map;又或者我需要Join,這對MapReduce來說簡直是噩夢慌盯,什么給左右表加標簽周霉,小表用Distributed Cache分發(fā),各種不同Join的Hack亚皂,都是因為MapReduce本身是不直接支持Join的俱箱,其實我需要的是,兩組不同的計算節(jié)點掃描了數(shù)據(jù)之后按照Key分發(fā)數(shù)據(jù)到下一個階段再計算灭必,就這么簡單的規(guī)則而已;再或者我要表示一組復(fù)雜的數(shù)據(jù)Pipeline狞谱,數(shù)據(jù)在一個無數(shù)節(jié)點組成的圖上流動乃摹,而因為MapReduce的呆板模型,我必須一次一次在一個Map/Reduce步驟完成之后不必要地把數(shù)據(jù)寫到磁盤上再讀出跟衅,才能繼續(xù)下一個節(jié)點孵睬,因為Map Reduce2個階段完成之后,就算是一個獨立計算步驟完成伶跷,必定會寫到磁盤上等待下一個Map Reduce計算掰读。

上面這些問題,算是每個號稱下一代平臺都嘗試解決的“饶現(xiàn)在號稱次世代平臺現(xiàn)在做的相對有前景的是Hortonworks的Tez和Databricks的Spark蹈集。他們都嘗試解決了上面說的那些問題。Tez和Spark都可以很自由地描述一個Job里執(zhí)行流雇初。他們相對現(xiàn)在的MapReduce模型來說拢肆,極大的提升了對各種復(fù)雜處理的直接支持,不需要再絞盡腦汁“挖掘”MR模型的潛力靖诗。綜上善榛,Spark數(shù)據(jù)處理速度秒殺MapReduce因為其處理數(shù)據(jù)的方式不一樣,會比MapReduce快上很多呻畸。

(3)可以判Hadoop“死刑”嗎?

目前備受追捧的Spark還有很多缺陷移盆,比如:

穩(wěn)定性方面,由于代碼質(zhì)量問題伤为,Spark長時間運行會經(jīng)常出錯咒循,在架構(gòu)方面,由于大量數(shù)據(jù)被緩存在RAM中绞愚,Java回收垃圾緩慢的情況嚴重叙甸,導(dǎo)致Spark性能不穩(wěn)定,在復(fù)雜場景中SQL的性能甚至不如現(xiàn)有的Map/Reduce位衩。

不能處理大數(shù)據(jù)裆蒸,單獨機器處理數(shù)據(jù)過大,或者由于數(shù)據(jù)出現(xiàn)問題導(dǎo)致中間結(jié)果超過RAM的大小時糖驴,常常出現(xiàn)RAM空間不足或無法得出結(jié)果僚祷。然而,Map/Reduce運算框架可以處理大數(shù)據(jù)贮缕,在這方面辙谜,Spark不如Map/Reduce運算框架有效。

不能支持復(fù)雜的SQL統(tǒng)計;目前Spark支持的SQL語法完整程度還不能應(yīng)用在復(fù)雜數(shù)據(jù)分析中感昼。在可管理性方面装哆,SparkYARN的結(jié)合不完善,這就為使用過程中埋下隱憂,容易出現(xiàn)各種難題蜕琴。

大講臺老師并不想說Spark和Hadoop誰強誰弱萍桌,而是想告訴大家——在比較Hadoop和Spark方面要記住的最重要一點就是,它們并不是非此即彼的關(guān)系凌简,因為它們不是相互排斥梗夸,也不是說一方是另一方的簡易替代者。兩者彼此兼容号醉,這使得這對組合成為一種功能極其強大的解決方案,適合諸多大數(shù)據(jù)應(yīng)用場合辛块。

也就是說畔派,大數(shù)據(jù)行業(yè)的老鳥們?nèi)绻粫﨟adoop就要當心了,擠出時間來學(xué)習(xí)Spark和其他新技術(shù)是絕對必要的;而對于目前正準備嘗試大數(shù)據(jù)培訓(xùn)的朋友們润绵,從Hadoop開始仍然是最好的選擇线椰。長遠來看新技術(shù)總會不斷出現(xiàn),不管是Spark還是Tez似乎都有著更美妙的大數(shù)據(jù)前景尘盼,然而沒有人會勸你完全拋開Hadoop憨愉。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市卿捎,隨后出現(xiàn)的幾起案子配紫,更是在濱河造成了極大的恐慌,老刑警劉巖午阵,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件躺孝,死亡現(xiàn)場離奇詭異,居然都是意外死亡底桂,警方通過查閱死者的電腦和手機植袍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來籽懦,“玉大人于个,你說我怎么就攤上這事∧核常” “怎么了厅篓?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長捶码。 經(jīng)常有香客問我贷笛,道長,這世上最難降的妖魔是什么宙项? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任乏苦,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘汇荐。我一直安慰自己洞就,他們只是感情好,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布掀淘。 她就那樣靜靜地躺著旬蟋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪革娄。 梳的紋絲不亂的頭發(fā)上倾贰,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機與錄音拦惋,去河邊找鬼匆浙。 笑死,一個胖子當著我的面吹牛厕妖,可吹牛的內(nèi)容都是我干的首尼。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼言秸,長吁一口氣:“原來是場噩夢啊……” “哼软能!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起举畸,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤查排,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后抄沮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雹嗦,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年合是,在試婚紗的時候發(fā)現(xiàn)自己被綠了了罪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡聪全,死狀恐怖泊藕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情难礼,我是刑警寧澤娃圆,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站蛾茉,受9級特大地震影響讼呢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谦炬,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一悦屏、第九天 我趴在偏房一處隱蔽的房頂上張望节沦。 院中可真熱鬧,春花似錦础爬、人聲如沸甫贯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叫搁。三九已至,卻和暖如春供炎,著一層夾襖步出監(jiān)牢的瞬間渴逻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工音诫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惨奕,地道東北人。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓纽竣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親茧泪。 傳聞我的和親對象是個殘疾皇子蜓氨,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容