gpt4 book ai didi

apache-spark - 如何在 spark-submit 中排除包?

转载 作者:行者123 更新时间:2023-12-04 17:38:22 25 4
gpt4 key购买 nike

我有一个基于 Spark 的流应用程序,我使用命令行中的 spark-submit 命令在 AWS EMR 上运行它。我通过使用 spark-submit 的 --packages 选项包含了一些依赖项。但是,我还想在 spark-submit 解析依赖项时排除一个依赖项。为此,我尝试使用 spark-submit 的 --exclude-packages 选项,但遇到了问题。我在实际应用程序中看到的错误与以下命令产生的错误相同(也在 AWS EMR 上运行):

spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster --driver-memory 1024m --executor-memory 1024m --executor-cores 1 --num-executors 1  --packages org.apache.spark:spark-streaming-kafka-0-10_2.11:2.3.2,org.apache.spark:spark-streaming-kinesis-asl_2.11:2.3.2 --exclude-packages com.amazonaws:amazon-kinesis-client:1.7.3  /usr/lib/spark/examples/jars/spark-examples_2.11-2.3.2.jar 10

我看到的错误如下:

Exception in thread "main" java.lang.IllegalArgumentException: requirement failed: Provided Maven Coordinates must be in the form 'groupId:artifactId:version'. The coordinate provided is: com.amazonaws:amazon-kinesis-client:1.7.3:*
at scala.Predef$.require(Predef.scala:224)
at org.apache.spark.deploy.SparkSubmitUtils$$anonfun$extractMavenCoordinates$1.apply(SparkSubmit.scala:1015)
at org.apache.spark.deploy.SparkSubmitUtils$$anonfun$extractMavenCoordinates$1.apply(SparkSubmit.scala:1013)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:186)
at org.apache.spark.deploy.SparkSubmitUtils$.extractMavenCoordinates(SparkSubmit.scala:1013)
at org.apache.spark.deploy.SparkSubmitUtils$.createExclusion(SparkSubmit.scala:1324)
at org.apache.spark.deploy.SparkSubmitUtils$$anonfun$resolveMavenCoordinates$1.apply(SparkSubmit.scala:1298)
at org.apache.spark.deploy.SparkSubmitUtils$$anonfun$resolveMavenCoordinates$1.apply(SparkSubmit.scala:1297)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:35)
at org.apache.spark.deploy.SparkSubmitUtils$.resolveMavenCoordinates(SparkSubmit.scala:1297)
at org.apache.spark.deploy.DependencyUtils$.resolveMavenDependencies(DependencyUtils.scala:53)
at org.apache.spark.deploy.SparkSubmit$.doPrepareSubmitEnvironment(SparkSubmit.scala:364)
at org.apache.spark.deploy.SparkSubmit$.prepareSubmitEnvironment(SparkSubmit.scala:250)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:171)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:137)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

我确实认为我正确地为 amazon-kinesis-client 提供了 Maven 坐标,因为首先,它对我来说看起来是正确的,其次,如果我从我的命令中删除 --exclude-packages 并添加 amazon- 的 Maven 坐标kinesis-client 因为它是 --packages 选项,命令运行良好,请参阅下面运行良好的命令:

spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster --driver-memory 1024m --executor-memory 1024m --executor-cores 1 --num-executors 1  --packages org.apache.spark:spark-streaming-kafka-0-10_2.11:2.3.2,org.apache.spark:spark-streaming-kinesis-asl_2.11:2.3.2,com.amazonaws:amazon-kinesis-client:1.7.3 /usr/lib/spark/examples/jars/spark-examples_2.11-2.3.2.jar 10

所以我不确定在使用 --exclude-packages 选项时我做错了什么。这可能是 spark-submit 中的错误吗?以前有人遇到过这个问题吗?

附言我确实在 JIRA for Spark 项目中搜索了与上述问题相关的任何未解决/已解决问题,但一无所获。

最佳答案

使用 --exclude-packages com.amazonaws:amazon-kinesis-client 没有定义版本。

关于apache-spark - 如何在 spark-submit 中排除包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55622837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com