groupby

 

 

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}


//按照传入函数的返回值进行分组,将相同key对应的值放入一个迭代器
object groupbyRDD {
  def main(args: Array[String]): Unit = {
    //本地模式
    val conf: SparkConf = new SparkConf().setAppName("My scala word count").setMaster("local")

    //创建spark上下文对象
    val sc = new SparkContext(conf)


    //1)分组后的数据行程(k,v),k是函数的返回值,v是k对应的数据集
    val listRDD: RDD[Int] = sc.makeRDD(1 to 10,2)
    val groupbyRDD: RDD[(Int, Iterable[Int])] = listRDD.groupBy(x=>x%2)

    groupbyRDD.collect().foreach(println)

//    (0,CompactBuffer(2, 4, 6, 8, 10))
//    (1,CompactBuffer(1, 3, 5, 7, 9))








  }


}

 

posted on 2020-09-18 16:42  happygril3  阅读(171)  评论(0)    收藏  举报

导航