1. 程式人生 > >深入理解spark-rdd詳解

深入理解spark-rdd詳解

彈性 gem exc .com drive image 都是 spa ima

1.我們在使用spark計算的時候,操作數據集的感覺很方便是因為spark幫我們封裝了一個rdd(彈性分布式數據集Resilient Distributed Dataset);

那麽rdd數據本身是如何存儲的呢,又是如何調度讀取的?

spark大部分時候都是在集群上上運行的,那麽數據本身一定是也是分布式存儲的,數據是由每個Excutor的去管理多個block的,而元數據本身是由driver的blockManageMaster來管理,當每個excutor創建的時候也會創建相對應的數據集管理服務blockManagerSlave,當使用某一些block時候,slave端會創建block並向master端去註冊block,同理刪除某些block時候,master向slave端發出申請,再有slave來刪除對應的block數據。由此可見,實際上物理數據都excutor上,數據的關系管理由driver端來管理。

rdd架構圖如下:

技術分享圖片

未完待續。。。。。

深入理解spark-rdd詳解