linux上,使用pyspark,如果在从节点上的提交任务命令写成这样的格式:bin/spark-submit --master yarn a.py能够使所有worker一起工作吗。如果不指定执行器数量,会默认是多少。
时间: 2024-01-24 08:17:05 浏览: 71
在使用`pyspark`时,如果在从节点上的提交任务命令中指定了`--master yarn`参数,那么所有worker都会参与到任务执行中。如果不指定执行器数量,`pyspark`会默认使用所有可用的CPU核心作为执行器数量,这个数量取决于你的集群规模和硬件配置。如果你需要指定执行器数量,可以使用`--num-executors`参数来设置,例如:
```
bin/spark-submit --master yarn --num-executors 10 a.py
```
这将启动10个执行器来执行任务。你也可以使用其他参数比如`--executor-cores`和`--executor-memory`来进一步调整执行器的配置。
相关问题
linux上,使用pyspark,如果在从节点上的提交任务命令写成这样的格式:bin/spark-submit --master yarn a.py能够使所有worker一起工作吗
是的,这个命令可以在YARN集群上提交一个PySpark应用程序,并在整个集群上运行。默认情况下,PySpark应用程序会并行运行在YARN集群上的所有可用worker节点上。可以使用`--num-executors`选项来指定运行在集群上的执行器数量,也可以使用`--executor-cores`选项来指定每个执行器的核心数。例如,`bin/spark-submit --master yarn --num-executors 10 --executor-cores 4 a.py`将在10个执行器上运行a.py,并且每个执行器有4个核心。
请说出提交Yarn命令中各个参数有什么作用? ./spark-submit \ --master yarn \ --conf "spark.pyspark.driver.python=/root/anaconda3/bin/python3" \ --conf "spark.pyspark.python=/root/anaconda3/bin/python3" \ /export/data/workspace/ xxx_out.py
提交 Yarn 命令中各个参数的作用如下:
1. `--master yarn`: 指定 Spark 应用程序的主节点为 Yarn,即使用 Yarn作为 Spark 的资源管理器。
2. `--conf "spark.pyspark.driver.python=/root/anaconda3/bin/python3"`: 设置 Spark 应用程序的驱动程序(即主节点)使用的 Python 解释器路径为 `/root/anaconda3/bin/python3`。
3. `--conf "spark.pyspark.python=/root/anaconda3/bin/python3"`: 设置 Spark 应用程序中使用的 Python 解释器路径为 `/root/anaconda3/bin/python3`。
4. `/export/data/workspace/ xxx_out.py`: 指定要提交的 Spark 应用程序的文件路径,其中 `xxx_out.py` 是要提交的 Python 脚本文件名。
阅读全文