1. 程式人生 > >RDD(彈性分散式資料集)的分析

RDD(彈性分散式資料集)的分析

RDD:

Resilient Distributed Dataset(彈性分散式資料集)

彈性:資料集的可恢復型

原因:在分散式環境下,運算節點很容易出問題,會造成資料的丟失,rdd可以在資料丟失的背景下恢復資料。

資料恢復的技術:1.基本備份

2.基於日誌(hadoop namenode中的namespace在磁碟上對應的是fsimage+editslog,當namenode重啟的時候,從磁碟上讀取fsimage和最新的editlog

Mysql資料庫:基於binLog恢復。

 

Rdd:基於血緣(linkage)的恢復機制。記錄了rdd轉換的過程,在rdd丟失時,可以通過記錄的過程(血緣)再次生成。

Rdd1==map====rdd2===reduce==rdd3

分散式:rdd可以分佈在多個機器上,對外是透明的。

資料集:rdd 本質上就是一個list。對應於scala中集合的操作同樣適用於rdd。預設的:當使用sparkconext讀取文字檔案的時候,一行文字作為rdd中的一個元素。

血緣恢復機制:儲存的是計算過程,節省空間;但是恢復的時候需要執行計算過程來恢復資料,時間變長。總之就是以時間換空間