Spark算子
Posted 康威特冶楼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark算子相关的知识,希望对你有一定的参考价值。
释义
reduce
将partition内所有记录最终计算成1个记录,结果类型与reduce
时数据类型一致
方法签名如下:
def reduce(f: (T, T) => T): T = withScope {
...
}
- f: 每个partition内,每每2个记录进行归并计算。输入类型为U跟U,输出为U,即输入类型与输出类型一致
案例
计算数组总和
object TestReduce {
def main(args: Array[String]): Unit = {
val conf: SparkConf = new SparkConf().setAppName("MyApp").setMaster("local[1]")
val sc: SparkContext = new SparkContext(conf)
val data = Array(1, 99, 2, 3)
val result: Int = sc.parallelize(data).reduce(_ + _)
println(result)
}
}
输出
105
解释
RDD内所有记录进行两两计算,最终生成1个结果
以上是关于Spark算子的主要内容,如果未能解决你的问题,请参考以下文章
Spark算子篇 --Spark算子之combineByKey详解
spark的做算子统计的Java代码(在Linux系统集群式运行)