考古
Hadoop 是在 2006 時,就已經問世的老東西了。 而大概在十年前的時候,Spark 針對記憶體的方面進行優化和改良,利用物理的方式超車了 Hadoop。 建議先看看十年前的文章:Spark擊敗Hadoop刷新資料排序世界記錄⋯⋯
Hadoop 和 Spark 之間的區別是什麼?
- Apache Hadoop 和 Apache Spark 都是開放原始碼架構
- 可用於管理和處理用於分析的大量資料。
- Hadoop 能讓您建立多台電腦組成的叢集,以更快地平行分析大型資料集。
- Spark 採用記憶體內快取並將查詢執行最佳化,以快速分析查詢任何規模的資料。
- Spark 在資料處理中使用人工智慧和機器學習 (AI/ML),因此是比 Hadoop 更先進的技術。但是,許多公司會同時使用 Spark 和 Hadoop 來實現資料分析目標。
Hadoop 元件
- Hadoop 分散式檔案系統 (HDFS): 用多台主機組成叢集,蓋出大池子存放資料,是分散式系統。
- Yet Another Resource Negotiator (YARN),排程任務並將資源配置給 Hadoop 上執行的應用程式。 啊就是一個 Dispatcher。
- Hadoop MapReduce,允許程式將大數據處理任務分解成較小的任務,並在多個伺服器上平行執行。 啊就化整為零策略(Split-Apply-Combine strategy),想法近似將問題拆分,各個擊破(divide and conquer)。
- Hadoop Common 或 Hadoop Core,針對其他 Hadoop 元件提供必要的軟體程式庫。 就是 Library。
Spark 元件
- Spark Core,協調 Apache Spark 的基本功能。這些功能包括記憶體管理、資料儲存、任務排程和資料處理。
- Spark SQL 允許您在 Spark 的分散式儲存體中處理資料。
- Spark 串流和結構化串流,可讓 Spark 將資料分隔成微小的連續區塊,進而有效率地即時串流資料。
- 機器學習程式庫 (MLlib),提供多種機器學習演算法,您可以套用這些演算法來處理大數據。
- GraphX,允許您使用圖形來視覺化和分析資料。
結論
- EMR = Elastic MapReduce
- 古早時代,要做大數據,要先學很多有的沒的系統安裝和套件安裝,裝好了才可以開始寫程式去玩資料(根本就是被玩啊)
- 所以在近代,利用雲端服務快速搭建的好處,付一點點錢就可以省下大量時間,也不用買硬體,只需要付出機器的開機租金。
- 考試會考的概念大概就是這樣。