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 会确保在所有节点上都能访问它。