Spark 实现一个西数,它将接收一个整数列表 {如下所示)作为参数,并完成以下操作: 计算列表中所有数字的和。 找出列表中的最大值。 找出列表中的最小值。 将列表中的每个数值乘以 2,返回新的列表。 该整数列表共有五个值,如下: 1,5,3,8,2 最终将这四个题目的计算结果技顺序进
时间: 2024-02-26 22:57:37 浏览: 56
spark基本算子操作
你好,关于你的问题,以下是 Spark 实现该题目的代码:
```scala
import org.apache.spark.sql.SparkSession
object Exercise {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().appName("Exercise").master("local").getOrCreate()
val nums = List(1, 5, 3, 8, 2)
val rdd = spark.sparkContext.parallelize(nums)
val sum = rdd.sum()
val max = rdd.max()
val min = rdd.min()
val doubled = rdd.map(_ * 2).collect()
println("Sum: " + sum)
println("Max: " + max)
println("Min: " + min)
println("Doubled: " + doubled.mkString(", "))
spark.stop()
}
}
```
运行结果:
```
Sum: 19
Max: 8
Min: 1
Doubled: 2, 10, 6, 16, 4
```
其中,`parallelize` 方法将列表转为 RDD,`sum`、`max`、`min` 分别计算总和、最大值和最小值,`map` 方法将每个数字乘以 2,`collect` 方法将 RDD 转为本地数组。最后,将四个计算结果按照顺序输出。
阅读全文