scala - kafka - spark streaming tutorial
build.sbt: cómo agregar dependencias de chispa (2)
El problema es que estás mezclando artefactos Scala 2.11 y 2.10. Tienes:
scalaVersion := "2.11.8"
Y entonces:
libraryDependencies += "org.apache.spark" % "spark-streaming_2.10" % "1.4.1"
Donde se requiere el artefacto 2.10
. También está mezclando versiones de Spark en lugar de usar una versión consistente:
// spark 1.6.1
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.1"
// spark 1.4.1
libraryDependencies += "org.apache.spark" % "spark-streaming_2.10" % "1.4.1"
// spark 0.9.0-incubating
libraryDependencies += "org.apache.spark" % "spark-streaming-twitter_2.10" % "0.9.0-incubating"
Aquí hay un build.sbt
que soluciona ambos problemas:
name := "hello"
version := "1.0"
scalaVersion := "2.11.8"
val sparkVersion = "1.6.1"
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % sparkVersion,
"org.apache.spark" %% "spark-streaming" % sparkVersion,
"org.apache.spark" %% "spark-streaming-twitter" % sparkVersion
)
Tampoco es necesario agregar manualmente las dependencias de twitter4j
ya que se añaden transitoriamente por spark-streaming-twitter
.
Hola, estoy intentando descargar spark-core
, spark-streaming
, twitter4j
y spark-streaming-twitter
en el archivo build.sbt a continuación:
name := "hello"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.1"
libraryDependencies += "org.apache.spark" % "spark-streaming_2.10" % "1.4.1"
libraryDependencies ++= Seq(
"org.twitter4j" % "twitter4j-core" % "3.0.3",
"org.twitter4j" % "twitter4j-stream" % "3.0.3"
)
libraryDependencies += "org.apache.spark" % "spark-streaming-twitter_2.10" % "0.9.0-incubating"
Simplemente tomé this libraryDependencies
línea, así que no estoy seguro de qué versiones, etc. usar.
¿Puede alguien explicarme cómo debería arreglar estos archivos .sbt? Pasé un par de horas tratando de resolverlo, pero ninguna de las sugerencias funcionó. Instalé scala
través de homebrew y estoy en la versión 2.11.8
Todos mis errores fueron sobre:
Modules were resolved with conflicting cross-version suffixes.
Esto funciona para mi:
name := "spark_local"
version := "0.1"
scalaVersion := "2.11.8"
libraryDependencies ++= Seq(
"org.twitter4j" % "twitter4j-core" % "3.0.5",
"org.twitter4j" % "twitter4j-stream" % "3.0.5",
"org.apache.spark" %% "spark-core" % "2.0.0",
"org.apache.spark" %% "spark-sql" % "2.0.0",
"org.apache.spark" %% "spark-mllib" % "2.0.0",
"org.apache.spark" %% "spark-streaming" % "2.0.0"
)