繁体   English   中英

使用spark-submit的类路径错误

[英]Class path error using spark-submit

我使用scala的2.10.4版本构建了一个胖罐,但它将在亚马逊的EMR上运行,该EMR具有scala 2.11.1。

当我将jar(使用assembly插件创建)复制到EMR集群并使用java -jar my.jar运行时,我得到了预期的输出(scopt,命令行解析器,告诉我有缺少的参数)。

当我使用scala my.jar运行它时,我得到同样的东西。 如果我在主节点或从节点上运行jar,这是相同的。

但是,当我使用spark-submit my.jar运行它时,我收到一个错误:

Exception in thread "main" java.lang.NoSuchMethodError: scopt.Read$.seqRead(Lscopt/Read;)Lscopt/Read;

所以出于某种原因,使用spark-submit ,它找不到scopt,即使我通过--master local

我在这里错过了什么?

我建议你从行家下载scopt库在这里和外部与火花提交补充的罐子。

例如:

spark-submit \
    [your other options here] \
    --jars $(echo ./jars/*.jar | tr ' ' ',') \
    --target yourapp.jar

当然, jars目录是您实际放置依赖项(库)的地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM