apache-spark - spark-submit 将包添加到工作节点
问题描述
如果我使用spark-submit
with--packages
并提供一个 maven 包,该包是添加到工作节点还是仅添加到主节点?
我正在使用--packages
参数并指定单个 Maven 依赖项。我已经获得了驱动程序 pod 的外壳,并确认 jar 正在下载到驱动程序。
但是,工作日志正在抛出ClassNotFoundExceptions
此依赖项中的类的一部分。我希望依赖于主节点而不是工作节点。
如何将此依赖项添加到工作节点?
解决方案
正如文档中提到的:
https://spark.apache.org/docs/latest/submitting-applications.html
使用 spark-submit 时,应用程序 jar 以及 --jars 选项中包含的任何 jar 将自动传输到集群。--jars 之后提供的 URL 必须用逗号分隔。该列表包含在驱动程序和执行程序类路径中。目录扩展不适用于 --jars。
用户还可以通过使用 --packages 提供逗号分隔的 Maven 坐标列表来包含任何其他依赖项。
是的,jar 将被上传到集群,因此工作节点上的所有 jvm。