AFAIK, die neueste, beste S3-Implementierung für Hadoop + Spark, wird mit dem URL-Protokoll "s3a: //" aufgerufen. Dies funktioniert gut auf vorkonfigurierten Amazon EMR.Spark + Amazon S3 "s3a: //" URLs
Wenn jedoch auf einem lokalen Entwickler-System läuft die Verwendung von vorgefertigtem spark-2.0.0-bin-hadoop2.7.tgz
, bekomme ich
Caused by: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3a.S3AFileSystem not found
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2101)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2193)
... 99 more
Weiter habe ich versucht, meinen Spark-Job zu starten, um den Hadoop-aws Addon Angabe:
$SPARK_HOME/bin/spark-submit --master local \
--packages org.apache.hadoop:hadoop-aws:2.7.3 \
my_spark_program.py
ich
::::::::::::::::::::::::::::::::::::::::::::::
:: FAILED DOWNLOADS ::
::^see resolution messages for details^::
::::::::::::::::::::::::::::::::::::::::::::::
:: com.google.code.findbugs#jsr305;3.0.0!jsr305.jar
:: org.apache.avro#avro;1.7.4!avro.jar
:: org.xerial.snappy#snappy-java;1.0.4.1!snappy-java.jar(bundle)
::::::::::::::::::::::::::::::::::::::::::::::
ich ein Dummy build.sbt Projekt in einem temporären Verzeichnis, die mit diese drei Abhängigkeiten zu sehen, ob eine grundlegende sbt Build erfolgreich diejenigen herunterladen konnte, und ich bekam:
[error] (*:update) sbt.ResolveException: unresolved dependency: org.apache.avro#avro;1.7.4: several problems occurred while resolving dependency: org.apache.avro#avro;1.7.4 {compile=[default(compile)]}:
[error] org.apache.avro#avro;1.7.4!avro.pom(pom.original) origin location must be absolute: file:/Users/username/.m2/repository/org/apache/avro/avro/1.7.4/avro-1.7.4.pom
[error] org.apache.avro#avro;1.7.4!avro.pom(pom.original) origin location must be absolute: file:/Users/username/.m2/repository/org/apache/avro/avro/1.7.4/avro-1.7.4.pom
[error]
[error] unresolved dependency: com.google.code.findbugs#jsr305;3.0.0: several problems occurred while resolving dependency: com.google.code.findbugs#jsr305;3.0.0 {compile=[default(compile)]}:
[error] com.google.code.findbugs#jsr305;3.0.0!jsr305.pom(pom.original) origin location must be absolute: file:/Users/username/.m2/repository/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.pom
[error] com.google.code.findbugs#jsr305;3.0.0!jsr305.pom(pom.original) origin location must be absolute: file:/Users/username/.m2/repository/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.pom
[error]
[error] unresolved dependency: org.xerial.snappy#snappy-java;1.0.4.1: several problems occurred while resolving dependency: org.xerial.snappy#snappy-java;1.0.4.1 {compile=[default(compile)]}:
[error] org.xerial.snappy#snappy-java;1.0.4.1!snappy-java.pom(pom.original) origin location must be absolute: file:/Users/username/.m2/repository/org/xerial/snappy/snappy-java/1.0.4.1/snappy-java-1.0.4.1.pom
[error] org.xerial.snappy#snappy-java;1.0.4.1!snappy-java.pom(pom.original) origin location must be absolute: file:/Users/username/.m2/repository/org/xerial/snappy/snappy-java/1.0.4.1/snappy-java-1.0.4.1.pom
[error] Total time: 2 s, completed Sep 2, 2016 6:47:17 PM
Alle Ideen, wie ich diese Arbeit zu bekommen?
haben Sie versucht, die anderen Abhängigkeiten Hinzufügen zu SBT? –
Ich habe die drei Abhängigkeiten hinzugefügt, die zu einem ansonsten leeren sbt-Projekt führen und das nicht erstellt werden konnte. Warum sollte das Hinzufügen anderer Abhängigkeiten nützlich oder hilfreich sein? – clay
Ich war nur neugierig. Das Hinzufügen des AWS-Hadoop-Pakets ist natürlich der Ansicht, dass es diese anderen herunterladen muss. Aus diesem Grund ist es nützlich/hilfreich, explizit im Projekt nach ihnen zu fragen –