实验aggreagte的方法
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.log4j.{Level, Logger}
object aggregate1 {
Logger.getLogger("org").setLevel(Level.ERROR)
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setMaster("local").setAppName("aggregate1")
conf.set("spark.testing.memory", "2147480000")//后面的值大于512m即可
val sc = new SparkContext(conf)
val arr = sc.parallelize(Array(1,2,3,4,5,6),1)
//val result = arr.aggregate(0)(math.max(_,_), _+_)
val result = arr.aggregate(10)((value,word) => value+word, _+_)
println(result)
}
}
实验结果
41
综上,我理解aggregate后面的第一个参数是初始值,后面是操作方法。
本实验是先执行10的相加,然后arr里面的元素分别相加。