學習Spark一定要先學Hadoop嗎?

時間 2021-06-12 04:06:44

1樓:windofjava

hadoop和spark,有關係,但並不是需要先學hadoop才能學spark的關係,它倆之間的對比如下

誕生的先後順序,hadoop屬於第一代開源大資料處理平台,而spark屬於第二代

屬於下一代的spark肯定在綜合評價上要優於第一代的hadoop

spark和hadoop在分布式計算的底層思路上,其實是極為相似的,即mapreduce分布式運算模型:將運算分成兩個階段,階段1-map,負責從上游拉取資料後各自運算,然後將運算結果shuffle給下游的reduce,reduce再各自對通過shuffle讀取來的資料進行聚合運算

spark和hadoop在分布式計算的具體實現上,又有區別;hadoop中的mapreduce運算框架,乙個運算job,進行一次map-reduce的過程;而spark的乙個job中,可以將多個map-reduce過程級聯進行

spark和hadoop的另乙個區別是,spark是乙個運算平台,而hadoop是乙個復合平台(包含運算引擎,還包含分布式檔案儲存系統hdfs,還包含分布式運算的資源排程系統yarn),所以,spark跟hadoop來比較的話,主要是比運算這一塊

大資料技術發展到目前這個階段,hadoop(主要是說它的運算部分)日漸式微,而spark目前如日中天,相關技術需求量大,offer好拿,薪資相對更高

總結,如果要學spark,其實逃不開HDFS,也逃不開yarn,所以,雖然理論上可以不用學hadoop就直接學spark,但還是建議學一下hadoop,畢竟這玩意兒又不是個多難的事,也就兩三天時間就足夠讓你上手,並鋪墊好學spark的基礎了

2樓:阿海與蝸牛

不一定。但學到一定程度還要是要去學習。

目前,在企業中大資料的工作方向大致有幾類

資料平台研發:側重於大資料平台部署、運維、開源軟體優化改造等

資料研發: 側重於數倉建設、資料同步、資料埋點設計等

BI和資料探勘:側重於指標體系建設、報表建設、業務異常分析、資料探勘等

全能選手:小公司什麼都要做或者大牛什麼都懂

不同角色對技術對Spark/Hadoop的了解深度是不一樣的。比如平台研發的同學更注重Spark原理,如任務排程,Sql解析引擎等,這樣定製開發。但這一塊在國內也只有一線網際網路公司有資源做。

資料研發的同學,需要了解如何在Spark上執行任務,如何編寫sql實現ETL

解決不同問題,技術側重也是不一樣的。比如解決OLAP時,更側重的查詢響應時間。所以Presto,Kylin就需要去了解。

而構建數倉時需要開發和管理很多ETL任務,有不同資料來源,這時候就需要了解Hadoop的HDFS是如何儲存資料的。如何拿到自己的資料。

以上。等等

對於初學的同學來說,找準乙個和自己職業規劃相契合的切入點的技術,結合現在自己做的專案,先滿足現在的需求,再懷著一顆好奇心,逐步構建自己的知識體系。最終成為全能選手。

因為,對於程式設計師來說,技術才是硬實力。

3樓:Hagoop Coder

不需要吧。不過理解兩者的區別會對日後工作很有幫助。和spark相對比的應該是MapReduce。

MapReduce 是Hadoop的運算框架,其運算結果必須送回HDFS即Hadoop的儲存框架。而Spark的中間結果可以存到記憶體中,因此對迭代大資料運算效果提公升顯著,比如PageRank或者一些Machine Leanring演算法。

4樓:翟士丹

不需要,Spark做計算可以不依賴Hadoop,只不過Hadoop的HDFS已經是大資料儲存的標配了,Hadoop也比較成熟了,大多數情況下,你只需要部署好Hadoop直接用就可以了。

初學者學習吉他一定要先學木結他嗎?

蘇九三 不用啊我和題主一樣都是先學的電結他,電結他上手起來自我感覺要比木結他能稍微舒服一點,因為弦能軟一點,剛開始初學者比較容易適應,還有指板也比較窄,橫按之類的也比木結他要好上手許多,但是入門容易,要把電結他玩好,要比木結他難的多 反正,沒必要必須從木結他開始,看個人喜好, 葉墨墨 在我周圍接觸到...

留學一定要先學習語言嗎?

EIEA義大利留學 是的畢竟留學的話是當地的官方語言授課和生活的溝通交流,我們留學前學習語言更重要的就是為了學習以及生活這兩點非常重要的,所以留學前還是建議我們把語言學好再出去,也是為了更好的融入留學。 多倫多蔡老師 簡答加拿大這裡對研究生的要求還是蠻高的,應該說整個北美對於研究生要求都很高,學的東...

做深度學習一定要學c麼?

jjooe781201 學習時要專一,先將乙個專案學好的再學下乙個,最後合起來成為你的知識做DL就先學好各種相關理論,Python是高階語言編成簡單套件豐富。真有心要自己程式設計更複雜的程式再往下學C 演演算法 資料結構這些你目前不要去擔心 再說三次 學習時要專一,先將乙個專案學好的再學下乙個,最後...