YARN:Spark中执行者数量和执行者核心之间有什么区别?

时间:2016-04-25 23:26:12

标签: apache-spark yarn emr

我在AWS EMR上学习Spark。在这个过程中,我试图理解执行者数量( - num-executors)和执行者核心(--executor-cores)之间的区别。请问有人请告诉我吗?

此外,当我尝试提交以下作业时,我收到错误:

spark-submit --deploy-mode cluster --master yarn --num-executors 1 --executor-cores 5   --executor-memory 1g -–conf spark.yarn.submit.waitAppCompletion=false wordcount.py s3://test/spark-example/input/input.txt s3://test/spark-example/output21

Error: Unrecognized option: -–conf

1 个答案:

答案 0 :(得分:9)

执行者数量是将执行您的应用程序的不同纱线容器(想想进程/ JVM)的数量。

执行程序核心数是每个执行程序(容器)中的线程数。

因此,spark应用程序的并行性(并行线程数/运行任务数)为var params = new URLSearchParams(); params.set('param1', param1); 。如果您有10个执行程序和5个执行程序核心,您将(希望)同时运行50个任务。