2017-03-24 106 views

回答

3

map(func) 它是做什麼的?通過提供的功能傳遞RDD的每個元素;即FUNC

flatMap(FUNC) 「相似的映射,但每個輸入項可以被映射到0以上輸出項(所以FUNC應返回SEQ而不是一個單一的項目)。」

比較flatMap在以下 enter image description here

mapPartitions(FUNC) 考慮mapPartitions性能優化工具來映射。在本地計算機上運行示例與在羣集上運行相比,它不會有太大幫助。它與地圖相同,但適用於Spark RDD分區。請記住,RDD中的第一個D是「分佈式」 - 彈性分佈式數據集。換句話說,你可以說它是分佈式的。 enter image description here

mapPartitionsWithIndex(FUNC) 類似於mapPartitions,而且還提供了與一個Int值以指示所述分區的索引位置的函數。 enter image description here

如果我們改變上面的例子中使用parallelize'd名單有3片,我們的產量變化顯著: enter image description here