2014-11-19 19 views
6

Im próbuje zapłonowe & integracja Elasticsearch w Scala, jak opisano w Elasticsearch Guidezapłonowe strumieniowe zależności elasticsearch

mam problemy z zależnościami przy kompilacji:

[trace] Stack trace suppressed: run last *:update for the full output. 
[error] (*:update) sbt.ResolveException: unresolved dependency: cascading#ing-local;2.5.6: not found 
[error] unresolved dependency: clj-time#clj-time;0.4.1: not found 
[error] unresolved dependency: compojure#compojure;1.1.3: not found 
[error] unresolved dependency: hiccup#hiccup;0.3.6: not found 
[error] unresolved dependency: ring#ring-devel;0.3.11: not found 
[error] unresolved dependency: ring#ring-jetty-adapter;0.3.11: not found 
[error] unresolved dependency: com.twitter#carbonite;1.4.0: not found 
[error] unresolved dependency: cascading#cascading-hadoop;2.5.6: not found 
[error] Total time: 86 s, completed 19 nov. 2014 08:42:58 

Mój plik build.sbt wyglądać następująco

name := "twitter-sparkstreaming-elasticsearch" 

version := "0.0.1" 

scalaVersion := "2.10.4" 

// additional libraries 
libraryDependencies ++= Seq(
    "org.apache.spark" %% "spark-core" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming-twitter" % "1.1.0", 
    "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0" 
) 

Pomoc? dzięki.

Odpowiedz

0

"org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0" nie jest jeszcze dostępny. Można użyć "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0.Beta2"

sprawdzanie:

Edit1

Nawet po użyciu "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0.Beta2" Ja również otrzymuję ten sam błąd:

[info] Resolving org.fusesource.jansi#jansi;1.4 ... 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: cascading#cascading-local;2.5.6: not found 
[warn] :: clj-time#clj-time;0.4.1: not found 
[warn] :: compojure#compojure;1.1.3: not found 
[warn] :: hiccup#hiccup;0.3.6: not found 
[warn] :: ring#ring-devel;0.3.11: not found 
[warn] :: ring#ring-jetty-adapter;0.3.11: not found 
[warn] :: com.twitter#carbonite;1.4.0: not found 
[warn] :: cascading#cascading-hadoop;2.5.6: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[trace] Stack trace suppressed: run last *:update for the full output. 
[error] (*:update) sbt.ResolveException: unresolved dependency: cascading#cascading-local;2.5.6: not found 
[error] unresolved dependency: clj-time#clj-time;0.4.1: not found 
[error] unresolved dependency: compojure#compojure;1.1.3: not found 
[error] unresolved dependency: hiccup#hiccup;0.3.6: not found 
[error] unresolved dependency: ring#ring-devel;0.3.11: not found 
[error] unresolved dependency: ring#ring-jetty-adapter;0.3.11: not found 
[error] unresolved dependency: com.twitter#carbonite;1.4.0: not found 
[error] unresolved dependency: cascading#cascading-hadoop;2.5.6: not found 
[error] Total time: 41 s, completed Nov 19, 2014 8:44:04 PM 

Moi build.sbt wygląda następująco

name := "twitter-sparkstreaming-elasticsearch" 

version := "0.0.1" 

scalaVersion := "2.10.4" 

// additional libraries 
libraryDependencies ++= Seq(
    "org.apache.spark" %% "spark-core" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming-twitter" % "1.1.0", 
    "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0.Beta2", 
    "org.elasticsearch" % "elasticsearch-hadoop-cascading" % "2.1.0.Beta2" 
) 

resolvers += "sonatype-oss" at "http://oss.sonatype.org/content/repositories/snapshots" 

resolvers += "Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases/" 
1

to dlatego kaskadowe i jego zależności nie są w Maven. Trzeba dodać resolwera aby je

Dodaj tę linię do build.sbt

resolvers += "conjars.org" at "http://conjars.org/repo" 

Twój build.sbt powinna wyglądać następująco:

name := "twitter-sparkstreaming-elasticsearch" 

version := "0.0.1" 

scalaVersion := "2.10.4" 

// additional libraries 
libraryDependencies ++= Seq(
    "org.apache.spark" %% "spark-core" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming-twitter" % "1.1.0", 
    "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0" 
) 

resolvers += "conjars.org" at "http://conjars.org/repo" 

UWAGA: Ten problem został podniesiony i zamknięty tutaj https://github.com/elasticsearch/elasticsearch-hadoop/issues/304 z tym samym rozwiązaniem co powyżej

0

Do obsługi tylko Spark można użyć minimalistycznego pliku binarnego. Dodaj poniższe linie do libraryDependencies w build.sbt

"org.elasticsearch" % "elasticsearch-spark_2.10" % "2.1.0.Beta3" 

Uwaga: '2.10' odnosi się do kompatybilnej wersji Scala!

i usunąć

"org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0.Beta3" 

To pozwoli uniknąć nierozwiązanych deps wymienione w pytaniu.

7

Sbt nie może rozwiązać niektórych zależności, ponieważ nie są one częścią repozytorium Maven. Można je jednak znaleźć pod numerami clojars i conjars. Trzeba dodać następujące wiersze tak SBT można je rozwiązać:

resolvers += "clojars" at "https://clojars.org/repo" 
resolvers += "conjars" at "http://conjars.org/repo" 

Również zależność elasticsearch-Hadoop „2.1.0” nie istnieje (? Jeszcze), należy użyć „2.1.0. beta4" (lub cokolwiek jest najnowsza wersja kiedy to czytasz)

plik SBT powinna wyglądać następująco:

name := "twitter-sparkstreaming-elasticsearch" 

version := "0.0.1" 

scalaVersion := "2.10.4" 

libraryDependencies ++= Seq(
    "org.apache.spark" %% "spark-core" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming-twitter" % "1.1.0", 
    "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0.Beta4" 
) 

resolvers += "clojars" at "https://clojars.org/repo" 
resolvers += "conjars" at "http://conjars.org/repo" 

został przetestowany (z rdzeniem iskrowym 1.3.1 i bez iskier-streamingu ale powinno działać dla ciebie). Mam nadzieję, że to pomaga.