2016-11-11 1 views
1

Ich versuche, eine Textdatei auf Amazon EMR mit den Python-Spark-Bibliotheken zu lesen. Die Datei befindet sich im Home-Verzeichnis (/ home/hadoop/wet0), aber Spark scheint es nicht zu finden.Spark/Hadoop kann Datei auf AWS EMR nicht finden

Linie in Frage:

lines = spark.read.text(sys.argv[1]).rdd.map(lambda r: r[0]) 

Fehler:

pyspark.sql.utils.AnalysisException: u'Path does not exist: hdfs://ip-172-31-19-121.us-west-2.compute.internal:8020/user/hadoop/wet0;' 

Ist die Datei in einem bestimmten Verzeichnis sein? Informationen dazu kann ich nirgends auf der AWS-Website finden.

+1

Würde es dir etwas ausmachen, die Ausgabe von 'hadoop fs -ls/user/hadoop /' zu drucken? – eliasah

Antwort

1

Wenn es im lokalen Dateisystem ist, sollte die URL sein file: // user/hadoop/wet0 Wenn in HDFS, sollte das ein gültiger Pfad sein. Verwenden Sie den hadoop fs Befehl einen Blick zu nehmen

zB: hadoop fs -ls/home/hadoop

man denken, zu sehen, sagen Sie, dass es in "/ home/hadoop", aber der Pfad in dem Fehler ist "/ user/hadoop". Stellen Sie sicher, dass Sie nicht ~ in der Befehlszeile verwenden, da bash die Erweiterung ausführt, bevor Spark es sieht. Am besten den vollen Pfad verwenden/home/hadoop

+0

Danke, das war das Problem. – NmdMystery