Apache Spark 2.3.1-Twitter不是软件包org.apache.spark.streaming的成员

时间:2018-09-23 16:12:39

标签: twitter spark-streaming apache-bahir spark-shell

首先,我一直在寻找这个问题已有一段时间,我可以看到存在与此相关的其他解决方案,但是对于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时遇到问题。从我当地的火花壳:

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之外进行此操作,因此似乎与我正在使用的笔记本无关。

感谢您的见解。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我不能降低火花,因为我需要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库的问题,也解决了“新火花”中“旧火花”缺少类的问题。

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