01 Spark架構與執行流程

2022-06-29 19:33:09 字數 2412 閱讀 5453

hdfs

hdfs(hadoop分布式檔案系統)源自於google的gfs**,發表於2023年10月,hdfs是gfs的實現版。hdfs是hadoop體系中資料儲存管理的基礎,它是乙個高度容錯的系統,能檢測和應對硬體故障,在低成本的通用硬體上執行。hdfs簡化了檔案的一次性模型,通過流式資料訪問,提供高吞吐量應用程式資料訪問功能,適用帶有資料集的應用程式。hdfs提供一次寫入多次讀取的機制,資料以塊的形式,同時分布儲存在不同的物理機器上。 

hdfs預設的最基本的儲存單位是64mb的資料塊,和普通檔案系統一樣,hdfs中的檔案被分成64mb一塊的資料塊儲存。它的開發是基於流資料模式訪問和處理超大檔案的需求。

超大檔案

超大檔案:是指進行儲存的檔案達到mb、gb、tb級的大檔案。

流式資料訪問

流式資料訪問:一次寫入、多次讀取的訪問模式。

商用硬體

在節點出現故障時,hdfs會繼續執行,使用者不會察覺到明顯的中斷情況。這是由於hdfs的高可用性和容錯性是通過軟體來實現的,也由此使得它不需要**高的裝置來保障,大街小巷能買到的普通硬體就能用作搭建hdfs。 

hdfs並不是所有場景都適用。 

1)由於hdfs的優勢是海量資料傳輸,在低延遲的資料訪問中就並不適用,10ms以下的訪問可以無視hdfs。hdfs會用延遲來換取資料的高吞吐量。 

2)存在的小檔案較多時,hdfs也不適用。這主要是由於hdfs的整個檔案儲存在namenode中,它能對資料庫的儲存位置進行定位,因此namenode的記憶體量是被檔案的數量限制的。而大量的小檔案會占用很大一部分記憶體,在進行資料處理時會合併這些小檔案。 

3)在多處寫和隨機修改的場景中,由於hdfs的檔案不支援多個寫入或任意位置的修改,所以hdfs也不適用。

mapreduce

mapduce(分布式計算框架)源自於google的mapreduce**,發表於2023年12月,hadoop mapreduce是google reduce 轉殖版。mapreduce是一種分布式計算模型,用以進行海量資料的計算。它遮蔽了分布式計算框架細節,將計算抽象成map 和reduce兩部分,其中map對資料集上的獨立元素進行指定的操作,生成鍵-值對形式中間結果。reduce則對中間結果中相同「鍵」的所有「值」進行規約,以得到最終結果。mapreduce非常適合在大量計算機組成的分布式並行環境裡進行資料處理。

hbase

hbase(分布式列存資料庫)源自google的bigtable**,發表於2023年11月,hbase是google table的實現。hbase是乙個建立在hdfs之上,面向結構化資料的可伸縮、高可靠、高效能、分布式和面向列的動態模式資料庫。hbase採用了bigtable的資料模型,即增強的稀疏排序對映表(key/value),其中,鍵由行關鍵字、列關鍵字和時間戳構成。hbase提供了對大規模資料的隨機、實時讀寫訪問,同時,hbase中儲存的資料可以使用mapreduce來處理,它將資料儲存和平行計算完美地結合在一起。

yarn

yarn(分布式資源管理器)是下一代mapreduce,即mrv2,是在第一代mapreduce基礎上演變而來的,主要是為了解決原始hadoop擴充套件性差,不支援多計算框架而提出的。yarn是下一代hadoop計算平台,是乙個通用的執行時框架,使用者可以編寫自己的極端框架,在該執行環境中執行。

spark

spark(記憶體dag計算模型)是乙個apche專案,被標榜為「快如閃電的集群計算」,它擁有乙個繁榮的開源社群,並且是目前最活躍的apache專案。最早spark是uc berkeley amp lab所開源的類hadoop mapreduce的通用計算框架,spark提供了乙個更快、更通用的資料處理平台。和hadoop相比,spark平台可以讓你的程式在記憶體中執行時速度提公升100倍,或者在磁碟上執行時速度提公升10倍。

1)使用mapreduce進行批量離線分析;

2)使用hive進行歷史資料的分析;

3)使用hbase進行實時資料的查詢;

4)使用storm進行實時的流處理;

5)。。。。。。

導致:維護成本高、學習成本高

spark的出現彌補了hadoop生態系統中的缺陷,使用spark搞定」一切「而且速度快。

2. spark已打造出結構一體化、功能多樣化的大資料生態系統,請簡述spark生態系統。

:spark具有如下4個主要特點:

①執行速度快;②容易使用;③通用性;④執行模式多樣

①spark的計算模式也屬於mapreduce,但不侷限於map和reduce操作,還提供了多種資料集操作型別,程式設計模型比mapreduce更靈活;

②spark提供了記憶體計算,中間結果直接存放記憶體中,帶來更高的迭代運算效率;

③spark基於dag的任務排程執行機制,要優於mapreduce的迭代執行機制。

3. 用**描述你所理解的spark執行架構,執行流程。

01 Spark架構與執行流程

1.闡述hadoop生態系統中,hdfs,mapreduce,yarn,hbase及spark的相互關係,為什麼要引入yarn和spark。答 hadoop對應於google三駕馬車 hdfs對應於gfs,即分布式檔案系統,mapreduce即平行計算框架,hbase對應於bigtable,即分布式...

01 Spark架構與執行流程

1.闡述hadoop生態系統中,hdfs,mapreduce,yarn,hbase及spark的相互關係,為什麼要引入yarn和spark。hdfs hadoop分布式檔案系統 源自於google的gfs 發表於2003年10月,hdfs是gfs的實現版。hdfs是hadoop體系中資料儲存管理的基...

01 Spark架構與執行流程

1.闡述hadoop生態系統中,hdfs,mapreduce,yarn,hbase及spark的相互關係,為什麼要引入yarn和spark。1 引用yarn是為了解決原始hadoop擴充套件性差,不支援多計算框架而提出的 2 spark的速度比hadoop更快。同樣的事情,hadoop要兩分鐘,而s...