{eval=Array;=+count(Array);}
大家好,我是LakeShen
作為一個軟件開發(fā)工程師,我從事的方向主要是大數(shù)據(jù)方向,結(jié)合我的工作經(jīng)驗(yàn),我個人認(rèn)為,Spark不會完全取代Hadoop,Hadoop還有很多其他方面的大數(shù)據(jù)組件,這些組件是Spark所沒有的,同時,F(xiàn)link在未來的發(fā)展,會作為實(shí)時計算方面的一種發(fā)展趨勢。下面來說一下我個人的看法:
首先,F(xiàn)link是什么?Flink一種流式處理的實(shí)時計算引擎,它消費(fèi)的數(shù)據(jù)可以來自Kafka、MetaQ等消息中間件,旨在降低數(shù)據(jù)計算的延時,使得我們可以實(shí)時監(jiān)控我們業(yè)務(wù)相關(guān)的指標(biāo)信息。Flink 目前作為國內(nèi)最火的一款實(shí)時計算引擎,國內(nèi)有很多互聯(lián)網(wǎng)大公司都使用Flink進(jìn)行實(shí)時計算,ucloud的Blink(Flink ucloud內(nèi)部版本)、ucloud、今日頭條、美團(tuán)等。Flink 天然的狀態(tài)管理,使得其能夠應(yīng)用于公司的各種有狀態(tài)的實(shí)時計算。下面來看一下Flink Github上面的信息:
從上圖可以看到,關(guān)注Flink的人數(shù)達(dá)到了9929位人數(shù),同時,每天都有很多用戶關(guān)注Flink。根據(jù)Apache 軟件基金會2019年的財報,F(xiàn)link持續(xù)活躍,其社區(qū)郵件列表在所有開源項(xiàng)目活躍度第一。這也意味著,F(xiàn)link 目前在實(shí)時計算方面非常的火熱。在加上ucloud在Flink 1.9版本開源了很多 Flink SQL方面的特性,我相信,在未來,F(xiàn)link在實(shí)時計算方面,是一種發(fā)展趨勢。
Spark本質(zhì)也是一種大數(shù)據(jù)計算框架,它相對于Hadoop最重要的優(yōu)勢,我個人認(rèn)為是Spark能夠?qū)⒅虚g計算的結(jié)果放在內(nèi)存中,而Hadoop的中間結(jié)果只能放在磁盤上。Spark充分的利用的計算機(jī)內(nèi)存的優(yōu)勢,在數(shù)據(jù)量非常大的情況下,訪問計算機(jī)內(nèi)存的速度肯定要比訪問磁盤快的多。一個離線任務(wù),使用Spark幾分鐘就能跑完,而使用Hadoop可能需要幾十分鐘。時間上面的延遲,業(yè)務(wù)同學(xué)是肯定不會容忍的。
同時,用戶在開發(fā)Spark任務(wù)時,由于Spark 代碼開發(fā)的便利性,用戶幾行代碼就可以開發(fā)出Spark任務(wù),但是Hadoop任務(wù)你需要編寫Mapper類、Reducer類。這極大的增加了開發(fā)同學(xué)開發(fā)任務(wù)的復(fù)雜度。所以,我個人認(rèn)為,在離線計算方面,Spark在未來必然會取代Hadoop。
Hadoop主要由三方面構(gòu)成,MR計算模型、Yarn資源管理框架、HDFS分布式文件存儲。雖然Hadoop在離線計算方面相對于Spark較慢,但是其在資源管理和分布式文件存儲方面做得非常完善,很多公司不會為了計算快而完全放棄Hadoop,Spark只是一款大數(shù)據(jù)計算框架,它沒有自己的資源管理框架和存儲。Spark的資源管理使用的是Hadoop Yarn,底層的文件存儲,使用的Hadoop HDFS。Spark的優(yōu)勢只是其比Hadoop在離線計算方面速度快,但在其他方面,比如資源管理等,根本沒有任何優(yōu)勢。
所以,我個人認(rèn)為,未來在離線計算方面,Spark必然會代替Hadoop作為很多大數(shù)據(jù)公司的首選。但是由于Hadoop其底層的資源管理框架Yarn和文件存儲HDFS已經(jīng)非常完善,所以互聯(lián)網(wǎng)公司還會使用Hadoop,但會使用Spark來進(jìn)行離線數(shù)據(jù)計算。同時,F(xiàn)link未來在實(shí)時計算方面肯定是一種發(fā)展趨勢,在加上國內(nèi)ucloud的大力推廣和運(yùn)營,我相信Flink以后發(fā)展會越來越好。
首先,想說一件事情是,hadoop絕對不會退出舞臺。目前有些言論或hadoop已死,因?yàn)橐呀?jīng)有很多代替它的框架出現(xiàn)。
我想說這樣的說法是不了解hadoop的組成。hadoop核心之一HDFS,這個東西目前還沒有很好的技術(shù)可以取代,雖然現(xiàn)在也有一些技術(shù)實(shí)現(xiàn),但要取代還是不可能的,不過未來應(yīng)該會被取代掉,技術(shù)是不斷發(fā)展的。
能夠大規(guī)模分布式的存儲文件,目前hdfs依然是最好的方式。我想那些說hadoop大勢已去的人,更多的應(yīng)該是指MR吧。
MapReduce的確是個效率低下的東西,但是我要強(qiáng)調(diào)的是,MR是元老,即便現(xiàn)在沒人會去手寫MR去跑任務(wù),但我們不能不尊重MR帶給我們的思想。而且,現(xiàn)在hive依然是跑的MR任務(wù),也沒有完全被淘汰。
那么說起Spark,的確,SparkSql可以跑離線,SparkStreaming可以跑實(shí)時,更有structureStreaming的出現(xiàn)讓人眼前一亮。但是我要說,Spark是基于內(nèi)存基礎(chǔ)的,如果你對集群內(nèi)存吃緊,有很多部門或模塊共用集群跑任務(wù),那么你還是老老實(shí)實(shí)的跑MR吧,因?yàn)镾park沒內(nèi)存是跑步起來的。
至于Flink,恩,這個東西很強(qiáng)大,但是它的強(qiáng)大是和Spark做比較的,而且強(qiáng)大的是其架構(gòu)上的設(shè)計,處理流式數(shù)據(jù)的思想。而且Flink也還在發(fā)展期,目標(biāo)是SQL化。所以現(xiàn)在越來越多開發(fā)者選擇用spark,flink去代替MR做計算處理。但我還是那句話,集群內(nèi)存要充足。
所以綜上,hadoop的分布式文件系統(tǒng)hdfs是沒有被取代的,依然離不開,而計算框架MR應(yīng)該會慢慢退出歷史舞臺,但其思想和地位無法撼動。不過我相信未來在大數(shù)據(jù)處理上會有更優(yōu)秀的技術(shù)出現(xiàn),也會更加的便捷。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答10
回答