Ich fange mit Funken an und habe nie mit Hadoop gearbeitet. Ich habe 10 iMacs, auf denen ich Spark 1.6.1 mit Hadoop 2.6 installiert habe. Ich habe die vorkompilierte Version heruntergeladen und den extrahierten Inhalt einfach in /usr/local/spark/
kopiert. Ich habe alle Umgebungsvariablen Setup mit SCALA_HOME
, Änderungen an PATH
und andere Funken Conf. Ich kann sowohl spark-shell
als auch pyspark
(mit Anacondas Python) ausführen.Spark RDD Probleme
Ich habe den Standalone-Cluster eingerichtet; Alle Knoten werden auf meiner Webbenutzeroberfläche angezeigt. Nun, indem ich die Python-Shell benutzte (lief auf dem Cluster nicht lokal), folgte ich this link's python interpreter word count example.
Dies ist der Code, den ich
from operator import add
def tokenize(text):
return text.split()
text = sc.textFile("Testing/shakespeare.txt")
words = text.flatMap(tokenize)
wc = words.map(lambda x: (x,1))
counts = wc.reduceByKey(add)
counts.saveAsTextFile("wc")
Es gibt mir Fehler verwendet haben, dass die Datei shakespeare.txt
nicht auf einem Slave-Knoten gefunden wurde. Bei der Suche habe ich verstanden, dass, wenn ich nicht HDFS verwende, die Datei auf jedem Slave-Knoten auf demselben Pfad vorhanden sein sollte. Hier ist der Stack-Trace - github gist
Nun, ich habe ein paar Fragen-
nicht zugelassen RDD verteilt werden? Das heißt, es sollte (wenn die Aktion auf RDD ausgeführt wurde) die Datei auf allen Knoten verteilt haben, anstatt dass ich sie verteilen musste.
Ich habe den Funke mit Hadoop 2.6 heruntergeladen, aber die Hadoop-Befehle sind nicht verfügbar, um ein HDFS zu erstellen. Ich extrahierte die Hadoop-JAR-Datei, die in der
spark/lib
gefunden wurde, in der Hoffnung, etwas ausführbares zu finden, aber es gab nichts. Welche Hadoop-Dateien wurden im Spark-Download bereitgestellt?Schließlich, wie kann ich eine verteilte Anwendung (Spark-Submit) oder eine verteilte Analyse (mit Pyspark) auf dem Cluster ausführen? Wenn ich ein HDFS erstellen muss, welche zusätzlichen Schritte sind erforderlich? Wie kann ich hier ein HDFS erstellen?
Können Sie uns Ihren Code zeigen? –
Ich habe den Code und Stack-Trace hinzugefügt. – TrigonaMinima
Die RDD wird Ihre Datei nicht für Sie verteilen, deshalb würden Sie normalerweise ein verteiltes Dateisystem wie HDFS verwenden. – femibyte