spark提交参数 [spark.yarn.dist.jars] 和 [spark.yarn.jars ]区别

发布时间 2023-11-30 20:31:02作者: MuXinu

spark.yarn.dist.jars

  • 作用
用于指定分发到集群节点上的 JAR 包的路径。
  • 工作原理
Spark 应用程序的执行器会将这些 JAR 包分发到它们的本地文件系统上。这样,应用程序可以在执行期间访问这些 JAR 包。
  • 使用场景
适用于应用程序的依赖项,这些依赖项不需要在整个集群中共享。通常,这些是较小的依赖项,可以存储在每个节点上以减少网络开销。
  • 示例
spark-submit --class YourMainClass --master yarn --deploy-mode cluster --conf spark.yarn.dist.jars=hdfs:///path/to/your/dependency.jar YourApp.jar

spark.yarn.jars

  • 作用
用于指定在运行 Spark 应用程序时需要上传到集群的 JAR 包的路径。
  • 工作原理
Spark 会将应用程序的 JAR 包上传到 Hadoop 分布式缓存中,以确保集群中的所有节点都能够访问它。
  • 使用场景
适用于应用程序的主要 JAR 包,这些 JAR 包可能包含应用程序的代码和主要逻辑。
  • 示例
spark-submit --class YourMainClass --master yarn --deploy-mode cluster --conf spark.yarn.jars=hdfs:///path/to/your/app.jar YourApp.jar
总结:
  • 如果你有一些较小的依赖项,可以使用spark.yarn.dist.jars,这样它们就会分发到集群节点上,每个节点都会有一份。
  • 如果你有一个主要的应用程序 JAR 包,需要在整个集群中共享,可以使用spark.yarn.jars,这样 Spark 会确保在所有节点上都能访问它。