Apache Spark 2.3.1 - twitter 不是包 org.apache.spark.streaming 的成员

Apache Spark 2.3.1 - twitter is not a member of package org.apache.spark.streaming

首先,我一直在寻找这个问题一段时间,我可以看到还有其他解决方案,但是 Apache Spark 版本 2.3.1 没有。

简而言之,我正在尝试创建一个使用 bahir 在 spark 中执行分析 Twitter 消息的应用程序。

但是,我使用的是 Apache Spark 2.3.1 版,所以我发现 2.3.0-SNAPSHOT

但是当我尝试使用这个 bin/spark-shell --packages org.apache.bahir:spark-streaming-twitter_2.11:2.3.0-SNAPSHOT 时,无法从我本地的 spark-shell:

中找到它
:: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS Exception in thread "main" java.lang.RuntimeException: [unresolved dependency: org.apache.bahir#spark-streaming-twitter_2.11;2.3.0-SNAPSHOT: not found]

我可能是个愚蠢的假设,但我认为 2.3.0 可能适用于 2.3.1。

我可以获取 2.2.1 版本并且 twitter4j 似乎可以工作,但是我仍然遇到实际 streaming.twitter_ 与 Spark 2.3.1 一起工作的问题。来自我本地的 spark-shell:

scala> import org.apache.spark.streaming.twitter._ <console>:23: error: object twitter is not a member of package org.apache.spark.streaming import org.apache.spark.streaming.twitter._
                                     ^

很高兴知道是否有人知道它是否适用于 Apache Spark 2.3.1?

或者我只是被迫降级我的 Spark 版本以使其正常工作?

我正在一个名为 Zeppelin 的笔记本中执行此操作,但我也尝试在 Zeppelin 之外执行此操作,因此似乎与我正在使用的笔记本没有任何关系。

感谢任何见解。

我遇到了同样的问题。我不能降低火花,因为我需要 2.3 和另一个氦气。所以我要尝试 bahir's dependency

<dependency>
    <groupId>org.apache.bahir</groupId>
    <artifactId>spark-streaming-twitter_2.11</artifactId>
    <version>2.3.0</version>
</dependency>

如果可行,我会通知您...

编辑: 它确实有效。

%spark2.dep
z.reset()
z.addRepo("MavenCentral").url("https://mvnrepository.com/")
z.load("org.apache.bahir:spark-streaming-twitter_2.11:2.3.0")

它解决了不存在的新 Twitter 库的问题,也解决了 "new spark" 中的 "old spark" 缺少 类 的问题。

我能够 运行 使用 javascript 传单地图和 spark 2.3 sparkstreaming 对示例求和 :)