Interfejs API Twittera do użytku ze Scala 2.12
Tworzę aplikację do przesyłania strumieniowego Spark (3.0.0) ze Scala 2.12 (zbudowaną z SBT). Jak uzyskać tweety z Twittera API, biorąc pod uwagę wszystkie biblioteki, które to robią, dotyczą Scala <= 2.11.
EDYCJA: przykładowe dane wyjściowe, które otrzymuję, próbując skompilować za pomocą bibliotek:
object twitter is not a member of package org.apache.spark.streaming
[error] import org.apache.spark.streaming.twitter.TwitterUtils
Odpowiedzi
Aby zaimportować spark-streaming-twitterdo Scali 2.12, musisz określić wersję Scala w swoim imporcie:
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"
To wywołanie wymusza pobranie wersji scala 2.11 z Artifactory. Prawdopodobnie próbowano importowania:
libraryDependencies += "org.apache.spark" %% "spark-streaming-twitter" % "1.6.3"
W sbtwyszukuje spark-streaming-twitter_2.12w przypadku swojej scala wersji 2.12 build, który istnieje w maven atifactory .
Powiedziawszy to, musisz zrozumieć binarną kompatybilność wydań scala , zanim zrobisz coś takiego.
Po tym imporcie możesz zadzwonić:
import org.apache.spark.streaming.twitter.TwitterUtils