与 Scala 2.12 一起使用的 Twitter API [英] Twitter API to use with Scala 2.12
问题描述
我正在使用 Scala 2.12(使用 SBT 构建)构建 Spark (3.0.0) 流应用程序.鉴于用于执行此操作的所有库均适用于 Scala <= 2.11.
I'm building a Spark (3.0.0) streaming application with Scala 2.12 (built with SBT). How do I get tweets from Twitter API, given all libraries for doing this is for Scala <= 2.11.
我尝试使用库构建时得到的示例输出:
sample output that I get when trying to built with the libs:
object twitter is not a member of package org.apache.spark.streaming
[error] import org.apache.spark.streaming.twitter.TwitterUtils
推荐答案
为了将 spark-streaming-twitter
导入您的 Scala 2.12,您需要在导入时指定 Scala 版本:
In order to import spark-streaming-twitter
into your Scala 2.12, you need to specify the Scala version in your import:
resolvers += "twitter_2" at "https://mvnrepository.com/artifact/org.apache.spark/spark-streaming-twitter"
libraryDependencies += "org.apache.spark" % "spark-streaming-twitter_2.11" % "1.6.3"
此调用强制从 artifactory 获取 scala 2.11 版本.可能尝试的导入是:
This call forces to fetch the scala 2.11 version from artifactory. The import probably tried was:
libraryDependencies += "org.apache.spark" %% "spark-streaming-twitter" % "1.6.3"
sbt
搜索 spark-streaming-twitter_2.12
,以防您的 Scala 构建版本是 2.12,maven atifactory.
The sbt
searches for spark-streaming-twitter_2.12
in case your scala build version is 2.12, which does exist in maven atifactory.
说到这里,你需要了解scala 版本的二进制兼容性,在你做这样的事情之前.
Having said that, you need to understand the binary compatibility of scala releases, before you do such thing.
在此导入后,您可以调用:
After this import you can call:
import org.apache.spark.streaming.twitter.TwitterUtils
这篇关于与 Scala 2.12 一起使用的 Twitter API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!