我将 Spark 与 MongoDB 结合使用,因此依赖于 mongo-hadoop
驱动程序。多亏了对我原来问题的输入,我才开始工作 here .
我的 Spark 作业正在运行,但是,我收到了我不理解的警告。当我运行这个命令时
$SPARK_HOME/bin/spark-submit --driver-class-path /usr/local/share/mongo-hadoop/build/libs/mongo-hadoop-1.5.0-SNAPSHOT.jar:/usr/local/share/mongo-hadoop/spark/build/libs/mongo-hadoop-spark-1.5.0-SNAPSHOT.jar --jars /usr/local/share/mongo-hadoop/build/libs/mongo-hadoop-1.5.0-SNAPSHOT.jar:/usr/local/share/mongo-hadoop/spark/build/libs/mongo-hadoop-spark-1.5.0-SNAPSHOT.jar my_application.py
它有效,但给我以下警告信息
Warning: Local jar /usr/local/share/mongo-hadoop/build/libs/mongo-hadoop-1.5.0-SNAPSHOT.jar:/usr/local/share/mongo-hadoop/spark/build/libs/mongo-hadoop-spark-1.5.0-SNAPSHOT.jar does not exist, skipping.
当我试图让它工作时,如果我在提交作业时遗漏了这些路径,它根本不会运行。但是,现在,如果我省略这些路径,它确实会运行
$SPARK_HOME/bin/spark-submit my_application.py
有人可以解释一下这里发生了什么吗?我在这里查看了引用相同警告的类似问题,并搜索了文档。
通过设置选项一次,它们是否存储为环境变量或其他东西?我很高兴它有效,但要小心我不完全理解为什么有时而不是其他人。
最佳答案
问题是 CLASSPATH
应该用冒号分隔,而 JARS
应该用逗号分隔:
$SPARK_HOME/bin/spark-submit \
--driver-class-path /usr/local/share/mongo-hadoop/build/libs/mongo-hadoop-1.5.0-SNAPSHOT.jar:/usr/local/share/mongo-hadoop/spark/build/libs/mongo-hadoop-spark-1.5.0-SNAPSHOT.jar \
--jars /usr/local/share/mongo-hadoop/build/libs/mongo-hadoop-1.5.0-SNAPSHOT.jar,/usr/local/share/mongo-hadoop/spark/build/libs/mongo-hadoop-spark-1.5.0-SNAPSHOT.jar my_application.py
关于mongodb - 通过 spark-submit 将额外的 jar 传递给 Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33961699/