Interfejs API Twittera do użytku ze Scala 2.12

Aug 26 2020

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

TomerShetah Oct 07 2020 at 09:25

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