【问题标题】:Spark parallelism with coresSpark 与内核的并行性
【发布时间】:2020-10-04 16:03:36
【问题描述】:

我已经开始学习 spark 并尝试运行这个示例:

package examples

import org.apache.spark.sql.SparkSession

object Test extends App {
  val spark: SparkSession = SparkSession.builder()
    .master("local[2]")
    .appName("SparkByExample")
    .getOrCreate()

  println("First SparkContext:")
  println("APP Name :"+spark.sparkContext.appName)
  println("Deploy Mode :"+spark.sparkContext.deployMode)
  println("Master :"+spark.sparkContext.master)
  println("Default Min parallelism" + spark.sparkContext.defaultMinPartitions)
  println("Default parallelism" + spark.sparkContext.defaultParallelism)

  val sparkSession2: SparkSession = SparkSession.builder()
    .master("local[1]")
    .appName("SparkByExample-test")
    .getOrCreate()

  println("Second SparkContext:")
  println("APP Name :"+sparkSession2.sparkContext.appName)
  println("Deploy Mode :"+sparkSession2.sparkContext.deployMode)
  println("Master :"+sparkSession2.sparkContext.master)
  println("Default Min parallelism" + sparkSession2.sparkContext.defaultMinPartitions)
  println("Default parallelism" + sparkSession2.sparkContext.defaultParallelism)
}


在这里,我创建了两个 spark 会话,第一个具有两个内核,第二个具有一个内核,但是当我运行它时,两个会话都有两个并行性,我不明白为什么?

First SparkContext:
APP Name :SparkByExample
Deploy Mode :client
Master :local[2]
Default Min parallelism2
Default parallelism2

Second SparkContext:
APP Name :SparkByExample
Deploy Mode :client
Master :local[2]
Default Min parallelism2
Default parallelism2

【问题讨论】:

    标签: scala apache-spark


    【解决方案1】:
       println("Default parallelism" + sparkSession2.sparkContext.defaultParallelism)
    

    “sparkContext.defaultParallelism”返回定义在
    上的默认并行度级别 SparkContext ,它的默认值是根据您的应用程序上可用的核心数计算得出的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-22
      • 1970-01-01
      • 2019-11-25
      • 1970-01-01
      • 2019-02-22
      • 2016-12-24
      • 2018-10-26
      相关资源
      最近更新 更多