RDD 常用action算子和transformation算子
2019-10-14 本文已影响0人
邵红晓
常用action算子
- foreach
- reduce
- collect:在driver程序中,以数组的形式返回数据集的所有元素(这个操作会拉去所有数据到driver慎用)
- count
- first
- take
- fold
- takeSample(withReplacement,num, [seed])
返回一个数组,该数组由从数据集中随机采样的num个元素组成,可以选择是否用随机数替换不足的部分,seed用于指定随机数生成器种子 - takeOrdered(n) 返回前几个的排序
- countBykey
针对(K,V)类型的RDD,返回一个(K,Int)的map,表示每一个key对应的元素个数。
scala> val rdd = sc.parallelize(List((1,3),(1,2),(1,4),(2,3),(3,6),(3,8)),3)
rdd: org.apache.spark.rdd.RDD[(Int, Int)] = ParallelCollectionRDD[95] at parallelize at <console>:24
scala> rdd.countByKey()
res63: scala.collection.Map[Int,Long] = Map(3 -> 2, 1 -> 3, 2 -> 1)
- saveAsxxx
常用Transformation算子
- groupBykey
- reduceBykey
- sortByKey
- sortBy
- join union
- sample
- repartition
- map filter flatMap ...