MapPartition和Map的區別

2022-05-22 19:21:10 字數 946 閱讀 2072

map是對rdd中的每乙個元素進行操作;

如果是普通的map,比如乙個partition中有1萬條資料。ok,那麼你的function要執行和計算1萬次。

如果是普通的map操作,一次function的執行就處理一條資料;那麼如果記憶體不夠用的情況下, 比如處理了1千條資料了,那麼這個時候記憶體不夠了,那麼就可以將已經處理完的1千條資料從記憶體裡面垃圾**掉,或者用其他方法,騰出空間來吧。

所以說普通的map操作通常不會導致記憶體的oom異常。 

實現將每個數字變成原來的2倍的功能

def main(args: array[string]): unit =

val aa_res =aa.map(doublemap)

println(aa.getnumpartitions)

println(aa_res.collect().mkstring)

val bb = sc.parallelize(1 to 9, 3)

var res =list[(int,int)]()

while

(iter.hasnext)

res.iterator

} println(bb_res.collect().mkstring)

var cc = sc.makerdd(1 to 5, 2)

var result =list[int]()

var i = 0

while

(x.hasnext)

result.iterator

})cc_ref.foreach(println)

}

執行結果:

1.map--------------------------------

3(1,2)(2,4)(3,6)(4,8)(5,10)(6,12)(7,14)(8,16)(9,18)42

1086

EMA與MA 理解公式演算法 EMA與MA

計算 有一組資料 價為 1,2,3,4,5,6,7,求其ema c,5 解答 對應上面資料,x1,x2,x3,x4,x5分別對應3 4 5 6 7 則ema c,5 5 15 x5 4 15 x4 3 15 x3 2 15 x2 1 15 x1 5 x5 4 x4 3 x3 2 x2 1 x1 15...

IDEA的配置如何在Windows和Mac之間轉換

idea中大部分的個性化配置基本都能通過幾個步驟完成同步,且可以是不同操作系之間。本文windows和mac為例子。我之前嘗試是否可以把配置掛載到ftp上,被多台機器共享,但是考慮到因為網路就無法啟動idea代價還是相當大,所以暫時沒去研究 windows系統idea安裝後,其主要的個性化配置都會預...

mybatis group by查詢返回map型別

故事的發生是這樣的.一天 我發現我們的頁面顯示了這樣的匯 計資料,看起來體驗還不錯哦 然後,我發現 是這樣滴 分開每個狀態分別去查詢數量。額e,可是為嘛不使用簡單便捷的 group by 語句呢 我們知道mybatis提供了selectmap的方法,查詢結果為hashmap。查詢的時候,可以配置相應...