简体   繁体   English

与 Scala 2.12 一起使用的 Twitter API

[英]Twitter API to use with Scala 2.12

I'm building a Spark (3.0.0) streaming application with Scala 2.12 (built with SBT).我正在使用 Scala 2.12(使用 SBT 构建)构建 Spark(3.0.0)流应用程序。 How do I get tweets from Twitter API, given all libraries for doing this is for Scala <= 2.11.鉴于所有用于执行此操作的库均适用于 Scala <= 2.11,我如何从 Twitter API 获取推文。

EDIT: 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

In order to import spark-streaming-twitter into your Scala 2.12, you need to specify the Scala version in your import:为了将spark-streaming-twitter导入您的 Scala 2.12,您需要在导入中指定 Scala 版本:

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"

This call forces to fetch the scala 2.11 version from artifactory.此调用强制从 artifactory 获取 scala 2.11 版本。 The import probably tried was:可能尝试的导入是:

libraryDependencies += "org.apache.spark" %% "spark-streaming-twitter" % "1.6.3"

The sbt searches for spark-streaming-twitter_2.12 in case your scala build version is 2.12, which does exist in maven atifactory . sbt搜索spark-streaming-twitter_2.12 ,以防您的 Scala 构建版本是 2.12,它确实存在于maven atifactory 中

Having said that, you need to understand the binary compatibility of scala releases , before you do such thing.话虽如此,您需要在执行此操作之前了解scala 版本二进制兼容性

After this import you can call:导入后,您可以调用:

import org.apache.spark.streaming.twitter.TwitterUtils

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM