gpt4 book ai didi

scala - SparkPi 运行缓慢,超过 1 个切片

转载 作者:行者123 更新时间:2023-12-01 05:12:53 26 4
gpt4 key购买 nike

Spark 上相对较新,并尝试在独立的 12 核三机集群上运行 SparkPi 示例。我无法理解的是,与使用 12 个切片相比,使用单个切片运行此示例可提供更好的性能。当我使用并行化函数时也是如此。随着添加每个切片,时间几乎呈线性缩放。如果我做错了什么,请告诉我。代码片段如下:

val spark = new SparkContext("spark://telecom:7077", "SparkPi",
System.getenv("SPARK_HOME"), List("target/scala-2.10/sparkpii_2.10-1.0.jar"))
val slices = 1
val n = 10000000 * slices
val count = spark.parallelize(1 to n, slices).map {
i =>
val x = random * 2 - 1
val y = random * 2 - 1
if (x * x + y * y < 1) 1 else 0
}.reduce(_ + _)
println("Pi is roughly " + 4.0 * count / n)
spark.stop()

更新:问题在于随机函数,因为它是一种同步方法,无法扩展到多个内核。

最佳答案

sparkpi 示例中使用的随机函数是一种同步方法,不能扩展到多核。这是一个足够简单的示例,可以在您的集群上进行部署,但不要使用它来检查 Spark 的性能和可扩展性。

关于scala - SparkPi 运行缓慢,超过 1 个切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23268143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com