rdd=sc.paralelize([1,2,3,4,5]) #查看分區數 rdd.getNumPartitions()
輸出:4 #數據按照分區形式打印 rd.glom().collect()
輸出:[[1],[2],[3],[4,5]]
1、map和flatMap
2、reduce、fold、aggregate
(1)reduce
這里是兩種方式,輸出是:15
(2)fold
x:初始聚合值,y:當前元素,zero的值就是初始聚合值,初始聚合值的類型決定了最后返回的類型。
最終輸出:13
(3) aggregate
第二行輸出:[[2,4],[6,1]]
最后輸出:13
3、filter, distinct
第二行結果:[1,2,3,2,3,4,3,4,5,4,5,6,5,6,7]
第四行結果:[2,2,4,4,6,6]
第五行結果:[1,2,3,4,5,6,7]
4、交集insersection、並集union、排序sortBy
5、PairRDD的算子
groupByKey、reduceByKey、aggregateByKey
reduceByKeyLocally:
返回的就不是rdd格式的了,返回一個字典。