大資料之hadoop對比spark------資料儲存
1.Hadoop的資料都是來自於哪裡:
答案:磁碟。
2.map與reduce可以同時執行嗎?
答案:不能,由什麼決定的,shuffle過程決定的。
3.spark為什麼比hadoop要快,sprak儘量的避免從磁碟中進行讀取,以及配置資訊和計算資料,對比這些特性,極大的提高了
spark的執行效率,因此,spark的計算能力在一定範圍內是比hadoop要優秀一些。
儲存特點:
BlockManager-----快管理器:
Spark的儲存系統的核心BlockManager:
1.shuffle的客戶端shuffleclient.
2.BlockManager是用來管理所有的Executor的BlockManager的元件。
3.DiskBlockManager磁碟塊管理器
4.Memorystore記憶體儲存
5.DiskStore磁碟儲存
6.Tachyon儲存TachyonStore
7.CompressionCodec實現壓縮演算法的。
初始化的過程:
1.BlockTransforService初始化和ShuffleClient初始化
2.BlockManagerId和ShuffleServerId
3.向BlockManagerMaster註冊BlockManagerId
Spark是支援了HDFS,定義了抽象的BlockStore,具體的實現類:Memorystore,DiskStore,TachyonStore.
shuffleClient:直接實現在Executor上邊??因為在saprk的計算中,task分到不同的Executor執行。產生的中間資料一定會存在本地節點上,下一個reduce要處理這些中間資料,必然涉及到了資料的拉取,也同時必然會涉及到和其他節點的互動,這個是在每個Executor上執行一個ShuffleClient互動的手段,這樣額能夠減少互動時間,減輕BlockManagerMaster的壓力。
中間過程如下圖所示: