RDD原始碼分析 Iterator

2021-08-20 07:42:50 字數 874 閱讀 2353

rdd,resilient distributed datasets,彈性分布式資料集。

在spark中,通俗地可以認為是乙個資料集合,只不過這個資料集合分布在不同的機器上,對外表現為乙個整體。

一般來講,對rdd進行操作比如map操作時分為兩步,第一步為區域性操作,即是對每台機器上的rdd的部分資料都進行map並行操作,第二步為彙總操作,將每台機器的執行結果進行彙總。

其中有乙個問題是,rdd中的資料集合是分布的,rdd是如何確定每台機器上的資料集合的位置的呢?rdd是如何跟實際儲存資料的集合對應起來的呢?

檢視rdd原始碼

檢視partition原始碼

返回值iterator為scala自帶類,引數split通過檢視partition不難看出是乙個rdd的乙個分割槽的標識,也就是說,通過輸入引數某個分割槽的標識就可以獲得這個分割槽的資料集合的迭代器,rdd與實際的某台機器上的資料集合就是這麼聯絡起來的。rdd的iterator方法只有這麼乙個,但是這個方法只能用來遍歷某個partition的資料,不能遍歷整個rdd中的全部資料。

檢視rdd的map方法

spark原始碼剖析 RDD相關原始碼閱讀筆記

最好的原始碼閱讀方法就是除錯,沒有之一 之前其實有閱讀過rdd相關的原始碼,最近學習過程中發現在之前原本閱讀過的模組中有一些 關節 並沒有打通,所以想通過除錯的方式來更細緻得學習原始碼。本文為編寫測試用例並除錯rdd相關模組的筆記,並沒有列出具體的除錯過程,僅列出結論以做備忘,特別是那些比較容易忽略...

spring原始碼分析 spring原始碼分析

1.spring 執行原理 spring 啟動時讀取應用程式提供的 bean 配置資訊,並在 spring 容器中生成乙份相應的 bean 配置登錄檔,然後根據這張登錄檔例項化 bean,裝配好 bean 之間的依賴關係,為上 層應用提供準備就緒的執行環境。二 spring 原始碼分析 1.1spr...

思科VPP原始碼分析(dpo機制原始碼分析)

vpp的dpo機制跟路由緊密結合在一起。路由表查詢 ip4 lookup 的最後結果是乙個load balance t結構。該結構可以看做是乙個hash表,裡面包含了很多dpo,指向為下一步處理動作。每個dpo都是新增路由時的乙個path的結果。dpo標準型別有 dpo drop,dpo ip nu...