對spark中RDD的API的理解

鏈接:https://www.zybuluo.com/jewes/note/35032

對RDD,和RDD中map,reduce等API的理解


我的理解如下:

RDD:
Resilient Distributed Datasets(彈性分佈式數據集)
把所有數據抽象成RDD,可以看做是一個不連續的數組,這樣子就可以分區存了。

scala> val a = sc.parallelize(1 to 9, 3)
這樣子就可以分佈到不同機器==》並行處理了。然後對數據進行操作就是對RDD進行變換。然後輸出結果。
但是如何把數據變成RDD之後帶來了幾個問題。
如何保證運算後的正確性
容錯率有多高?
見作者的論文。https://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf
map:
將RDD中的每個元素映射到新的RDD中,map中可給一個映射函數,對象是每個元素
但如果不想操作每個元素呢
    出現了mappartitions,按分區操作
    還有mapvalues等
reduce:
講RDD中兩兩元素通過輸入函數後,變成一個,然後與接下來一個繼續運算,直到剩下最後一個元素
變形如:
reduceByKey





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章