0

我正在尝试将 Spark Streaming 与 Scala 一起使用,但我遇到了错误,我不知道为什么。
StreamingContext 是给出错误的行:

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

这是2个错误:

错误的符号引用。StreamingContext.class 中的签名是指包 org.apache.hadoop 中不可用的术语 conf。当前类路径中可能完全缺少它,或者类路径上的版本可能与编译 StreamingContext.class 时使用的版本不兼容。

和:

加载类文件“StreamingContext.class”时检测到缺少或无效的依赖项。无法访问包 org.apache.hadoop 中的术语 conf,因为它(或其依赖项)丢失。检查您的构建定义是否存在缺失或冲突的依赖项。(使用 -Ylog-classpath 重新运行以查看有问题的类路径。)如果“StreamingContext.class”是针对不兼容的 org.apache.hadoop 版本编译的,则完全重建可能会有所帮助。

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

4

2 回答 2

0

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

于 2015-01-12T12:57:44.180 回答
0

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

注意:一定要使用 [sbt eclipse] 命令,而不是 [sbt update]

于 2017-06-30T03:11:26.463 回答