Spark Streaming StreamingContext依赖项问题

时间:2015-01-12 10:57:25

标签: scala spark-streaming

我试图在Scala上使用Spark Streaming,但我收到了错误,我无法弄清楚原因。 StreamingContext是给出错误的行:

val sparkConf = new SparkConf().setAppName("App_StreamingConsumer")
val ssc = new StreamingContext(sparkConf, Seconds(2))

这是两个错误:

  

糟糕的象征性参考。 StreamingContext.class中的签名是指   在org.apache.hadoop包中使用term conf,这是不可用的。它   可能在当前类路径或版本中完全丢失   在类路径上可能与使用时的版本不兼容   编译StreamingContext.class。

  

加载类文件时检测到缺少或无效的依赖项   ' StreamingContext.class&#39 ;.无法访问包中的术语conf   org.apache.hadoop,因为它(或其依赖项)缺失。校验   缺少或冲突的依赖项的构建定义。 (重办   使用-Ylog-classpath查看有问题的类路径。)完全重建   如果StreamingContext.class' StreamingContext.class'是针对一个编译的   org.apache.hadoop的不兼容版本。

之前已经问过这个问题: Spark Streaming StreamingContext error错误似乎来自依赖问题,但据我所知,我的依赖关系都是有序的。

2 个答案:

答案 0 :(得分:0)

我只需要在我的依赖项中包含hadoop-core,我有hadoop-client并且没有意识到我也需要核心。

答案 1 :(得分:0)

我遇到过类似的问题,原因是由于[build path]缺少[hadoop]依赖。 这是我的解决方案: 在build.sbt文件中,添加:" org.apache.hadoop"%" hadoop-hdfs"%" 2.6.0"并运行命令:[sbt eclipse],它会自动将[hadoop]依赖包添加到项目中[build path]。

注意:请务必使用[sbt eclipse]命令,而不是[sbt update]