文章目录
前言
Apache Spark是一个快速、通用的大规模数据处理引擎,它支持多种编程语言进行数据分析和机器学习。在使用Spark进行数据处理时,任务的提交参数配置对于任务的执行效率、资源利用和管理至关重要。本文将详细解析Spark提交任务时常用的参数,帮助读者更好地理解和配置Spark作业。
常用的spark-submit参数
1. --master
**
--master
参数用于设置Spark作业的主节点URL,决定作业提交到何处执行。常见的选项包括:**
local
:在本地机器上运行Spark作业,使用单个线程。local[K]
:在本地机器上运行Spark作业,使用K个工作线程。local[*]
:在本地机器上运行Spark作业,尽可能多地使用CPU逻辑线程。spark://HOST:PORT
:连接到Spark standalone集群的master节点。mesos://HOST:PORT
:连接到Mesos集群。yarn
:连接到YARN集群。k8s://https://host:port
:连接到Kubernetes集群。
2. --deploy-mode
**
--deploy-mode
参数决定Spark驱动程序的启动位置,可选值为client和cluster。**
client
:在本地启动驱动程序,任务执行在集群上。cluster
:在集群的某个工作节点上启动驱动程序,逻辑运算与任务执行均在集群上。
3. --class
**
--class
参数用于指定应用程序的主类,仅适用于Java或Scala应用。**
4. --name
**
--name
参数用于设置应用程序的名称,方便管理和监控。**
5. 资源分配相关参数
--driver-memory MEM
:分配给驱动程序的内存大小,默认为1024M。--executor-memory MEM
:分配给每个执行器的内存大小,默认为1G。--driver-cores NUM
:驱动程序可以使用的CPU核数,默认为1。--executor-cores NUM
:每个执行器可以使用的CPU核数,默认为1。--num-executors NUM
:请求的执行器数量,默认为2。
6. 其他常用参数
--jars
:用逗号分隔的本地jar包,这些jar包将被包含在driver和executor的classpath下。--packages
:通过Maven坐标指定的jar包,这些jar包将被添加到driver和executor的classpath中。--exclude-packages
:为避免冲突,指定不包含的jars包。--repositories
:添加额外的远程资源库。--py-files
:对于Python应用,指定.py、.egg或.zip文件列表,这些文件将被传递给每个执行器。--files
:指定需要被传递给每个执行器的文件列表。--conf PROP=VALUE
:通过命令行动态地更改应用程序的配置。
示例1
以下是一个使用spark-submit提交Spark作业的示例命令:
spark-submit \--master spark://23.195.26.187:7077 \
--deploy-mode cluster \--name"MySparkApp"\--class com.example.MySparkApp \
--driver-memory 1g \
--executor-memory 4g \
--executor-cores 2\
--num-executors 4\
/path/to/your/sparkapp.jar \
arg1 arg2 arg3
- 在这个例子中,我们提交了一个名为MySparkApp的应用程序到指定的Spark集群。应用程序的入口类是com.example.MySparkApp,位于/path/to/your/sparkapp.jar。我们配置了驱动程序和执行器的内存大小、CPU核数以及执行器的数量,并传递了arg1、arg2、arg3三个参数给应用程序。
示例2
/opt/cloudera/parcels/spark3.3.2/bin/spark-submit --masteryarn --deploy-mode cluster --executor-memory 8G --num-executors 80 --executor-cores 1 --driver-cores 1 --driver-memory 8G --queue root.spark --class com.dw.process.mid.FenceIntoOutApplication spark-java-job-1.0-jar-with-dependencies.jar ${fenceId}
总结
如果此篇文章有帮助到您, 希望打大佬们能
关注
、
点赞
、
收藏
、
评论
支持一波,非常感谢大家!
如果有不对的地方请指正!!!
版权归原作者 lfwh 所有, 如有侵权,请联系我们删除。