mapreduce程序

e5nszbig  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(244)

我正在尝试运行一个用scala编写的mapreduce程序。我在类路径中包含了scala库。运行程序时,我的程序抛出以下错误。
$hadoop jar~/hadoopscala.jar com.learning.spark.wordcount/input/wordcountinput.csv/output-libjars~/lib/org.scala-lang.scala-library\u 2.12.2.v20170412-161608-vfinal-21d12e9.jar线程“main”java.lang.noclassdeffounderror:scala/predef$at com.learning.spark.wordcount$.main(wordcount)。scala:52)在com.learning.spark.wordcount.main(wordcount.scala)位于sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)位于sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:62)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:498)在org.apache.hadoop.util.runjar.run(runjar。java:234)在org.apache.hadoop.util.runjar.main(runjar。java:148)原因:java.lang.classnotfoundexception:scala.predef$at java.net.urlclassloader.findclass(urlclassloader)。java:381)在java.lang.classloader.loadclass(classloader。java:424)在java.lang.classloader.loadclass(classloader。java:357)
scala库中提供了scala.predef$。是什么导致了这个错误。

s2j5cfk0

s2j5cfk01#

首先,您运行的不是mapreduce作业,而是spark作业。
如果你是提交这个Spark作业纱你应该用户 spark-submit .
在任何情况下,你都会想要构建一个胖jar(又称uberjar)。
使用sbt时,请尝试 sbt assembely

相关问题