当在集群模式下使用submit时,jars和包配置让我感到困惑:对于jars,我可以将它们放在HDFS中,而不是本地目录中。但是对于包,因为它们使用Maven构建,用HDFS构建,所以不能工作。我的方式如下:
spark-submit --jars hdfs:///mysql-connector-java-5.1.39-bin.jar --driver-class-path /home/liac/test/mysql-connector-java-5.1.39/mysql-connector-java-5.1.39-bin.jar --conf "spark.mongodb.input.uri=mongodb://192.168.27.234/test.myCollection2?readPreference=primaryPreferred" --conf "spark.mongodb.output.uri=mongodb://192.168.27.234/test.myCollection2" --packages com.mongodb.spark:hdfs:///user/liac/package/jars/mongo-spark-connector_2.11-1.0.0-assembly.jar:1.0.0 --py-files /home/liac/code/diagnose_disease/tool.zip main_disease_tag_spark.py --master yarn-client发生错误:
`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.mongodb.spark:hdfs:///user/liac/package/jars/mongo-spark-connector_2.11-1.0.0-assembly.jar:1.0.0任何人都可以告诉我如何在集群模式下使用jars和包?我的方式怎么了?
发布于 2016-08-16 10:42:57
使用--packages参数是错误的:
--packages com.mongodb.spark:hdfs:///user/liac/package/jars/mongo-spark-connector_2.11-1.0.0-assembly.jar:1.0.0如输出所示,它需要以groupId:artifactId:version的形式出现。您不能与它一起使用URL。
具有内置存储库支持的mongoDB与火花的结合示例:
$SPARK_HOME/bin/spark-shell --packages org.mongodb.spark:mongo-spark-connector_2.11:1.0.0如果您坚持使用自己的jar,可以通过--repositories提供它。这个论点的价值是
逗号分隔的远程存储库列表,用于搜索包中指定的Maven坐标。
例如,在您的例子中,它可能是
--repositories hdfs:///user/liac/package/jars/ --packages org.mongodb.spark:mongo-spark-connector_2.11:1.0.0https://stackoverflow.com/questions/38912540
复制相似问题