reduceByKey 根据key化简

2019-07-30  本文已影响0人  yayooo

源码:

  def reduceByKey(func: (V, V) => V): RDD[(K, V)] = self.withScope {
    reduceByKey(defaultPartitioner(self), func)
  }
reduceByKey
package com.atguigu

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

object Trans {
  def main(args: Array[String]): Unit = {

    val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("Spark01_Partition")
    //构建spark上下文对象
    val sc = new SparkContext(conf)

    val rdd: RDD[(String, Int)] = sc.makeRDD(List(("a",1),("b",2),("a",3),("b",4)))
    val reduceByKeyRDD: RDD[(String, Int)] = rdd.reduceByKey((x,y) => (x+y))
    reduceByKeyRDD.collect().foreach(println)
    sc.stop()
  }
}


(a,4)
(b,6)

上一篇下一篇

猜你喜欢

热点阅读