Spark SparkPi的例子

时间:2016-12-10 17:34:07

标签: scala apache-spark parallel-processing

在Spark的分布附带的SparkPi示例中,RDD上的reduce是并行执行的(每个切片计算其总数),还是不行?

val count: Int = spark.sparkContext.parallelize(1 until n, slices).map { i =>
  val x = random * 2 - 1
  val y = random * 2 - 1
  if (x*x + y*y < 1) 1 else 0
}.reduce(_ + _)

1 个答案:

答案 0 :(得分:2)

是的,确实如此。

默认情况下,此示例将在2个切片上运行。因此,您的收藏将分为两部分。然后,Spark将并行地对每个分区执行map转换和reduce操作。最后,Spark会将各个结果合并为最终值。

如果使用默认配置执行示例,则可以在控制台输出中观察2个任务。