我试图在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错误似乎来自依赖问题,但据我所知,我的依赖关系都是有序的。
答案 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]