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)

  

 

 

posted @ 2019-12-10 19:37  梁衍  阅读(1057)  评论(0编辑  收藏  举报