在Spark中,通过--packages
参数将JAR添加到类路径并将JAR直接添加到$SPARK_HOME/jars
目录之间有什么区别?
答案 0 :(得分:3)
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 Packages。