Spark行动算子(Action)--fold算子

语法

Rdd.fold(num)(func)

num为初始值

func为元素与初始值进行的操作

源码

def fold(zeroValue : T)(op : scala.Function2[T, T, T]) : T = { /* compiled code */ }

作用

aggregate的简化操作,seqop和combop使用同一函数。

例子

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)

        val rdd = sc.makeRDD(1 to 10,2)
        println(rdd.fold(0)(_+_))
    }
}


输入
1 2 3 4 5
6 7 8 9 10
输出
55

你可能感兴趣的:(#,---SparkCore,spark)