當前位置: 華文問答 > 數位

如何用形象的比喻描述大數據的技術生態?Hadoop、Hive、Spark 之間是什麽關系?

2015-09-05數位

2023-11-22 更新說明,由於工作繁忙幾乎沒時間更新,大家有遇到自己業務場景的問題可以評論,本人才疏學淺,但如果有解決過類似問題我會回答。

Hadoop只是一套工具的總稱,它包含三部份:HDFS,Yarn,MapReduce,功能分別是分布式檔儲存、資源排程和計算。

按理來說,這就足夠了,就可以完成大數據分析了。

但第一個問題就是麻煩。這一套相當於用Yarn排程資源,讀取HDFS檔內容進行MR計算。要寫Java程式碼,但做數據的最好的工具是什麽?SQL!所以Hive相當於這一套標準流程的SQL化。

Hive可以簡單理解為,Hadoop之上添加了自己的SQL解析和最佳化器,寫一段SQL,解析為Java程式碼,然後去執行MR,底層數據還是在HDFS上。

這看起來挺完美,但問題是程式設計師發現好慢啊。原因是MR,它需要頻繁寫讀檔。這時基於記憶體的Spark出現了,Spark是替代MR的,它會為SQL生成有向無環圖,加上各種算子和寬窄依賴的最佳化,使得計算速度達到了新的高度。

按理說這就完美解決了呀