回覆列表
  • 1 # Lake說科技

    大家好,我是LakeShen

    作為一個軟體開發工程師,我從事的方向主要是大資料方向,結合我的工作經驗,我個人認為,Spark不會完全取代Hadoop,Hadoop還有很多其他方面的大資料元件,這些元件是Spark所沒有的,同時,Flink在未來的發展,會作為實時計算方面的一種發展趨勢。下面來說一下我個人的看法:

    從上圖可以看到,關注Flink的人數達到了9929位人數,同時,每天都有很多使用者關注Flink。根據Apache 軟體基金會2019年的財報,Flink持續活躍,其社群郵件列表在所有開源專案活躍度第一。這也意味著,Flink 目前在實時計算方面非常的火熱。在加上阿里在Flink 1.9版本開源了很多 Flink SQL方面的特性,我相信,在未來,Flink在實時計算方面,是一種發展趨勢。

    Spark相對於Hadoop的優勢

    Spark本質也是一種大資料計算框架,它相對於Hadoop最重要的優勢,我個人認為是Spark能夠將中間計算的結果放在記憶體中,而Hadoop的中間結果只能放在磁碟上。Spark充分的利用的計算機記憶體的優勢,在資料量非常大的情況下,訪問計算機記憶體的速度肯定要比訪問磁碟快的多。一個離線任務,使用Spark幾分鐘就能跑完,而使用Hadoop可能需要幾十分鐘。時間上面的延遲,業務同學是肯定不會容忍的。

    同時,使用者在開發Spark任務時,由於Spark 程式碼開發的便利性,使用者幾行程式碼就可以開發出Spark任務,但是Hadoop任務你需要編寫Mapper類、Reducer類。這極大的增加了開發同學開發任務的複雜度。所以,我個人認為,在離線計算方面,Spark在未來必然會取代Hadoop。

    Spark相對於Hadoop的不足

    Hadoop主要由三方面構成,MR計算模型、Yarn資源管理框架、HDFS分散式檔案儲存。雖然Hadoop在離線計算方面相對於Spark較慢,但是其在資源管理和分散式檔案儲存方面做得非常完善,很多公司不會為了計算快而完全放棄Hadoop,Spark只是一款大資料計算框架,它沒有自己的資源管理框架和儲存。Spark的資源管理使用的是Hadoop Yarn,底層的檔案儲存,使用的Hadoop HDFS。Spark的優勢只是其比Hadoop在離線計算方面速度快,但在其他方面,比如資源管理等,根本沒有任何優勢。

    總結

    所以,我個人認為,未來在離線計算方面,Spark必然會代替Hadoop作為很多大資料公司的首選。但是由於Hadoop其底層的資源管理框架Yarn和檔案儲存HDFS已經非常完善,所以網際網路公司還會使用Hadoop,但會使用Spark來進行離線資料計算。同時,Flink未來在實時計算方面肯定是一種發展趨勢,在加上國內阿里的大力推廣和運營,我相信Flink以後發展會越來越好。

  • 中秋節和大豐收的關聯?
  • 人工智慧機器人如果取代了人類的工作,不勞動者不得食,我們老百姓怎麼辦?