API do Twitter para usar com Scala 2.12

Aug 26 2020

Estou construindo um aplicativo de streaming Spark (3.0.0) com Scala 2.12 (desenvolvido com SBT). Como obtenho tweets da API do Twitter, considerando que todas as bibliotecas para fazer isso são para Scala <= 2.11.

EDIT: amostra de saída que obtenho ao tentar construir com as libs:

object twitter is not a member of package org.apache.spark.streaming
[error] import org.apache.spark.streaming.twitter.TwitterUtils

Respostas

TomerShetah Oct 07 2020 at 09:25

Para importar spark-streaming-twitterpara o Scala 2.12, você precisa especificar a versão do Scala na importação:

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"

Esta chamada força a busca da versão do scala 2.11 do artifactory. A importação provavelmente tentada foi:

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

A sbtpesquisa se a spark-streaming-twitter_2.12versão do seu scala build é 2.12, que existe no maven atifactory .

Dito isso, você precisa entender a compatibilidade binária dos lançamentos do scala antes de fazer isso.

Após esta importação, você pode chamar:

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