我的代码是否隐式并发?

时间:2015-09-02 22:36:57

标签: scala concurrency apache-spark

我在WordCount群集上提交了apache-spark的实施。

我想知道,如果在具有两个内核的执行程序上启动任务,它们是否会同时在这两个内核上运行?

我已经看过this question,但我不确定我是否可以将答案应用于我的案例。

import org.apache.spark._                                                                                                                                                                                          
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext._

object WordCount {
  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("WordCount")
    val spark = new SparkContext(conf)
    val filename = if (args(0).length > 0) args(0) else "hdfs://x.x.x.x:60070/tortue/wordcount"
    val textFile = spark.textFile(filename)
    val counts = textFile.flatMap(line => line.split(" ")) 
                   .map (word => (word, 1)) 
                   .reduceByKey(_ + _)
    counts.saveAsTextFile("hdfs://x.x.x.x:60070/tortue/wcresults")
    spark.stop()
  }
}

1 个答案:

答案 0 :(得分:1)

这取决于Spark配置为在执行程序上使用的核心数,spark.executor.cores是参数,并在http://spark.apache.org/docs/latest/configuration.html中记录。