我試圖從這里理解 Spark 的基本概念。據我了解,窄轉換會產生從單個父 RDD 轉換而來的子 RDD(可能是同一個 RDD 的多個磁區)。但是,并集和交集都需要兩個或多個 RDD 才能執行轉換。有人可以在理論上清除這個嗎?
uj5u.com熱心網友回復:
不,你的理解是錯誤的。窄轉換是只需要來自源的單個磁區來計算輸出的一個磁區的所有元素的轉換。union因此是一個狹窄的轉換,因為要創建輸出磁區,您只需要來自源資料的單個磁區。
另一方面,交叉點很寬,因為即使對于輸出的單個磁區,它也需要訪問(至少)一個源 rdds 的全部內容。
uj5u.com熱心網友回復:
狹義轉換是依賴于父 RDD 中已知的一組(1 個或多個)磁區的操作。它們可以在資料的子集上執行,而無需任何有關其他磁區的資訊。
相反,具有廣泛依賴關系的轉換不能在任意行上執行,而是需要以特定方式對資料進行磁區。具有廣泛依賴關系的轉換包括需要重新磁區的任何內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/407320.html
標籤:
