【问题标题】:Spark packages flag vs jars dir?Spark包标志vs jars目录?
【发布时间】:2018-05-14 23:42:33
【问题描述】:

在 Spark 中,通过 --packages 参数将 JAR 添加到类路径与直接将 JAR 添加到 $SPARK_HOME/jars 目录有什么区别?

【问题讨论】:

    标签: apache-spark


    【解决方案1】:

    TL;DR jars 用于通过 URL 指定的本地或远程 jar 文件,不解析依赖项,packages 用于 Maven 坐标,并解析依赖项。 From docs

    • --jars

      使用 spark-submit 时,应用程序 jar 以及包含在 --jars 选项中的任何 jar 将自动传输到集群。 --jars 之后提供的 URL 必须用逗号分隔。该列表包含在驱动程序和执行程序类路径中。目录扩展不适用于 --jars。

    • --packages

      用户还可以通过使用 --packages 提供逗号分隔的 Maven 坐标列表来包含任何其他依赖项。使用此命令时将处理所有传递依赖项。可以使用 --repositories 标志以逗号分隔的方式添加其他存储库(或 SBT 中的解析器)。 (请注意,在某些情况下,可以在存储库 URI 中提供受密码保护的存储库的凭据,例如在 https://user:password@host/.... 以这种方式提供凭据时要小心。)这些命令可以与 pyspark、spark-shell 一起使用, 和 spark-submit 以包含 Spark 包。

    【讨论】:

    • 谢谢@user9789292 (+1) -- 但我不是在谈论--jars 标志,我是在谈论将JAR 文件放在$SPARK_HOME/jars 目录与--packages 中。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 2015-08-24
    • 2012-02-11
    相关资源
    最近更新 更多