关于org.apache.spark.deploy.SparkSubmitArguments

本文详细介绍了`org.apache.spark.deploy.SparkSubmitArguments`类的主要功能,包括从`spark-submit`命令行中解析参数、设置Spark属性、加载环境变量、验证参数等关键步骤。核心方法如`mergeDefaultSparkProperties`、`ignoreNonSparkProperties`和`validateArguments`等在Spark应用提交过程中起着重要作用。此外,还讨论了如何处理未知选项和将提交参数转化为`SparkConf`配置。
摘要由CSDN通过智能技术生成

前言

这个类主要功能是从spark-submit命令行中解析并封装提交的的参数。
Github源码地址:https://github.com/apache/spark/blob/05168e725d2a17c4164ee5f9aa068801ec2454f4/core/src/main/scala/org/apache/spark/deploy/SparkSubmitArguments.scala

主要逻辑

defaultSparkProperties载入默认属性, Spark默认属性存在于当前定义的默认文件中。

使用parse(args.asJava), 提取命令行提交的参数并对Spark相关属性进行设置

mergeDefaultSparkProperties()从属性文件填充sparkProperties所含映射键值对

ignoreNonSparkProperties(),删除sparkProperties中不以“spark”开头的键

loadEnvironmentArguments(),使用sparkProperties映射和env变量来填充任何缺少的参数

validateArguments(), 确保所有必要的字段都存在,该方法只有在加载所有默认值后才会被调用此方法

主要方法

mergeDefaultSparkProperties

ignoreNonSparkProperties

loadEnvironmentArguments

载入主要的spark属性,参考下表。其中

  • 如果没有给出--class参数,请尝试依据提供的JAR包设置主类
  • mastet的全局默认值为 master = Option(master).getOrElse("local[*]")。 这些应保持最小,以避免混淆行为。
  • 在YARN模式下,可以通过SPARK_YARN_APP_NAME设置应用名称
  • 除非另有说明,否则应默认的action是SUBMIT
<
属性 获取方法
master Option(master).orElse(sparkProperties.get(“spark.master”)).orElse(env.get(“MASTER”)).orNull
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值