0


Spark提交任务参数全面解析

文章目录

前言

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}

总结

如果此篇文章有帮助到您, 希望打大佬们能

关注

点赞

收藏

评论

支持一波,非常感谢大家!
如果有不对的地方请指正!!!

标签: spark ajax 大数据

本文转载自: https://blog.csdn.net/weixin_42326851/article/details/140298182
版权归原作者 lfwh 所有, 如有侵权,请联系我们删除。

“Spark提交任务参数全面解析”的评论:

还没有评论