java报错需要 class_spark执行源码中的例子时报错

在运行spark源码时报错:

Error:(45, 66) not found: type SparkFlumeProtocol

val transactionTimeout: Int, val backOffInterval: Int) extends SparkFlumeProtocol with Logging {

^

...

Error:(25, 27) not found: type EventBatch

def isErrorBatch(batch: EventBatch): Boolean = {

^

Error:(86, 51) not found: type SparkFlumeProtocol

val responder = new SpecificResponder(classOf[SparkFlumeProtocol], handler.get)

^

这一堆错误都出现在spark源码目录的external文件夹中...

解决方案:

我觉得出现这个问题的原因还是在对源码进行gen-idea的过程中下载需要的jar包时出现问题导致需要的jar包不全,我现在虽然可以编译成功了,但是具体的解决方案仍然不清楚,因为我同时做了如下2件事:

1.依次点击:View -> Tool Windows -> Maven Projects ->Generate Sources and Update Folders For All Projects(两个箭头首尾相连的那个按钮),然后等待...(这个过程如果你需要关闭idea,请随意,因为重启idea后他会继续...)

2.重复在spark源码目录下进行sbt->gen-idea的操作,让他自己在那下载不用

运行example时报错:

1.loadClass时报错java.lang.ClassNotFoundException: scala.Function1

修改在project structrue中如下

20180111002541704054.png

需要将运行的moudle选中:

20180111002541707960.png

如下只选择了example报错:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession$

at org.apache.spark.examples.sql.RDDRelation$.main(RDDRelation.scala:34)

at org.apache.spark.examples.sql.RDDRelation.main(RDDRelation.scala)

Caused by: java.lang.ClassNotFoundException: org.apache.spark.sql.SparkSession$

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

后添加scala的liberay时选中所有的module

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值