Spark提交使命参数全面解析

打印 上一主题 下一主题

主题 692|帖子 692|积分 2076

媒介

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

常用的spark-submit参数

1. --master

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


  • local:在当地机器上运行Spark作业,利用单个线程。
  • local[K]:在当地机器上运行Spark作业,利用K个工作线程。
  • local
  • :在当地机器上运行Spark作业,尽大概多地利用CPU逻辑线程。
  • spark://HOSTORT:连接到Spark standalone集群的master节点。
  • mesos://HOSTORT:连接到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作业的示例命令:
  1. spark-submit \  
  2.   --master spark://23.195.26.187:7077 \  
  3.   --deploy-mode cluster \  
  4.   --name "MySparkApp" \  
  5.   --class com.example.MySparkApp \  
  6.   --driver-memory 1g \  
  7.   --executor-memory 4g \  
  8.   --executor-cores 2 \  
  9.   --num-executors 4 \  
  10.   /path/to/your/sparkapp.jar \  
  11.   arg1 arg2 arg3
复制代码


  • 在这个例子中,我们提交了一个名为MySparkApp的应用程序到指定的Spark集群。应用程序的入口类是com.example.MySparkApp,位于/path/to/your/sparkapp.jar。我们配置了驱动程序和实行器的内存大小、CPU核数以及实行器的数量,并传递了arg1、arg2、arg3三个参数给应用程序。
示例2

  1. /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企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

尚未崩坏

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表