我正在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
最佳答案
执行者的数目是将执行您的应用程序的不同 yarn 容器(思考过程/JVM)的数目。
执行者核心数是您在每个执行者(容器)内获得的线程数。
因此,您的spark应用程序的并行度(正在运行的并发线程/任务数)为#executors X #executor-cores
。如果您有10个执行者和5个执行者核心,那么(希望)有50个任务同时运行。
关于apache-spark - 纱: Spark 中的执行者数和执行者核数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36852828/