scala中分组的算子的用法

val rdd= sc.parallelize(List(("tom",1),("jerry",3),("kitty",2),("tom",2)))
//1.根据传入的参数进行分组
val rdd1:RDD[(String, Iterable[(String, Int)])] =rdd.groupBy(_._1)
println(rdd1.collect.toBuffer)
//2.根据key进行分区(对KV形式是使用) -->除了指定分组之后分区的数量之外, 还可以使用自定义分区器
val rdd2: RDD[(String, Iterable[Int])] = rdd.groupByKey()
println(rdd2.collect.toBuffer)

scala中分组的算子的用法

相关推荐