我在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
答案 0 :(得分:9)
执行者数量是将执行您的应用程序的不同纱线容器(想想进程/ JVM)的数量。
执行程序核心数是每个执行程序(容器)中的线程数。
因此,spark应用程序的并行性(并行线程数/运行任务数)为var params = new URLSearchParams();
params.set('param1', param1);
。如果您有10个执行程序和5个执行程序核心,您将(希望)同时运行50个任务。