首页 > 解决方案 > AWS EMR 添加步骤:如何在 --jars 和 --driver-class-path 选项中从 s3 添加多个 jar?

问题描述

所以我试图Apache Spark在 AWS EMR 上cluster使用spark-submit. 如果我在类路径中只提供一个 jar,则使用--jarand选项可以很好地使用给定的--driver-class-path选项。根据 EMR 的要求,我所需的所有依赖项 jar 都位于S3存储桶中。为此,我在 EMR AWS 控制台上的 EMR 添加步骤选项中使用了以下命令:

--class org.springframework.boot.loader.JarLauncher --jars s3://emrb/gson-2.8.4.jar --driver-class-path s3://emrb/gson-2.8.4.jar

现在,我spark-submit optionsadd step. 但是如果我想使用相同的方式提供多个依赖的jar,它不会占用其他jar。我提供以下方式并尝试了各种选项,但找不到依赖的 jar:

 --jars s3://emrb/hadoop_jars/emrfs-hadoop-assembly-2.32.0.jar,s3://emrb/gson-2.8.4.jar --driver-class-path s3://emrb/hadoop_jars/emrfs-hadoop-assembly-2.32.0.jar,s3://emrb/gson-2.8.4.jar --class org.springframework.boot.loader.JarLauncher

标签: scalaamazon-web-servicesapache-sparkamazon-emrspark-submit

解决方案


您可以在 spark-defaults 中添加 jar 文件。如果 jars 列表中有多个条目,请使用 : 作为分隔符。

你应该使用:

--driver-class-path s3://emrb/hadoop_jars/emrfs-hadoop-assembly-2.32.0.jar:s3://emrb/gson-2.8.4.jar


推荐阅读