赞
踩
val newRdd = olodRdd.groupBy(func)
def groupBy[K](f : scala.Function1[T, K])(implicit kt : scala.reflect.ClassTag[K]) : org.apache.spark.rdd.RDD[scala.Tuple2[K, scala.Iterable[T]]] = { /* compiled code */ }
分组,按照传入函数的返回值进行分组。将相同的key对应的值放入一个迭代器。
package com.day1 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object oper { def main(args: Array[String]): Unit = { val config:SparkConf = new SparkConf().setMaster("local[*]").setAppName("wordCount") // 创建上下文对象 val sc = new SparkContext(config) // groupBy算子 val listRdd:RDD[Int] = sc.makeRDD(1 to 10) val groupRdd = listRdd.groupBy(_%2) groupRdd.collect().foreach(println) } } 输入: 1 2 3 4 5 6 7 8 9 10 输出: 1 3 5 7 9 2 4 6 8 10
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。