黑猴子的家 Spark RDD 為什麼會產生

2021-09-27 11:03:35 字數 622 閱讀 4649

rdd是spark的基石,是實現spark資料處理的核心抽象。

hadoop的mapreduce是一種基於資料集的工作模式,面向資料,這種工作模式一般是從儲存上載入資料集,然後運算元據集,最後寫入物理儲存裝置。資料更多面臨的是一次性處理。

mr的這種方式對資料領域兩種常見的操作不是很高效。

第一種是迭代式的演算法。比如機器學習中als、凸優化梯度下降等。這些都需要基於資料集或者資料集的衍生,資料反覆查詢反覆操作。mr這種模式不太合適,即使多mr序列處理,效能和時間也是乙個問題。資料的共享依賴於磁碟。

第二種是互動式資料探勘,mr顯然不擅長。

mr中的迭代

spark中的迭代

我們需要乙個效率非常快,且能夠支援迭代計算和有效資料共享的模型,spark應運而生。rdd是基於工作集的工作模式,更多的是面向工作流。無論是mr還是rdd都具有類似位置感知、容錯和負載均衡等特性。

黑猴子的家 Spark RDD 相關概念關係

輸入可能以多個檔案的形式儲存在hdfs上,每個file都包含了很多塊,稱為block。當spark讀取這些檔案作為輸入時,會根據具體資料格式對應的inputformat進行解析,一般是將若干個block合併成乙個輸入分片,稱為inputsplit,注意inputsplit不能跨越檔案 隨後將為這些輸...

黑猴子的家 Hadoop Checkpoint機制

fsimage和edit log合併的過程如下圖所示 其實這個合併過程是乙個很耗i o與cpu的操作,並且在進行合併的過程中肯定也會有其他應用繼續訪問和修改hdfs檔案。所以,這個過程一般不是在單一的namenode節點上進行從。如果hdfs沒有做ha的話,checkpoint由secondname...

黑猴子的家 FileInputFormat切片機制

1 job提交流程原始碼詳解 waitforcompletion submit 1 建立連線 connect 1 建立提交job的 new cluster getconfiguration 2 判斷是本地yarn還是遠端 initialize jobtrackaddr,conf 2 提交job su...