尚未崩坏 发表于 2024-8-10 00:48:12

Spark提交使命参数全面解析

媒介

Apache Spark是一个快速、通用的大规模数据处理引擎,它支持多种编程语言进行数据分析和机器学习。在利用Spark进行数据处理时,使命的提交参数配置对于使命的实行效率、资源利用和管理至关紧张。本文将详细解析Spark提交使命时常用的参数,资助读者更好地理解和配置Spark作业。
常用的spark-submit参数

1. --master

--master参数用于设置Spark作业的主节点URL,决定作业提交到何处实行。常见的选项包括:


[*]local:在当地机器上运行Spark作业,利用单个线程。
[*]local:在当地机器上运行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 --master yarn --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}
总结

   假如此篇文章有资助到您, 希望打大佬们能关注、点赞、收藏、批评支持一波,非常感谢大家!
假如有不对的地方请指正!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Spark提交使命参数全面解析