Ich bin mit dem Java-Programm in wordcount Funken laufen. Wie führe ich es von der Kommandozeile aus?Wie ein Funke-Java-Programm von der Kommandozeile
Antwort
Zuerst müssen Sie Ihr Java-Programm als eigenständige Anwendung mit Maven (nach dem Beispiel here) und dann mit submitting your application mithilfe von Spark-submit erstellen.
das Beispiel wordcount Pick-up aus sagen: https://github.com/holdenk/fastdataprocessingwithsparkexamples/tree/master/src/main/scala/pandaspark/examples. diese Schritte aus, um das Fett jar-Datei zu erstellen:
mkdir example-java-build/; cd example-java-build
mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DgroupId=spark.examples \
-DartifactId=JavaWordCount \
-Dfilter=org.apache.maven.archetypes:maven-archetype-quickstart
cp ../examples/src/main/java/spark/examples/JavaWordCount.java
JavaWordCount/src/main/java/spark/examples/JavaWordCount.java
Sie fügen die entsprechenden Funken Kern und Funken Beispiele Abhängigkeiten. Stellen Sie sicher, dass die Abhängigkeiten auf Ihrer Version von Spark basieren. Ich benutze funke 1.1.0 und so habe ich die relevanten Abhängigkeiten. Mein pom.xml sieht wie folgt aus:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-examples_2.10</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
Erstellen Sie Ihre JAR-Datei mvn verwenden.
cd example-java-build/JavaWordCount
mvn package
Dies erstellt Ihre fette JAR-Datei im Zielverzeichnis. Kopieren Sie die JAR-Datei an einem beliebigen Ort auf dem Server. Gehen Sie in den Ordner "your bin" Ihres Funkens. (In meinem Fall: /root/spark-1.1.0-bin-hadoop2.4/bin
)
Senden Funke Job: Mein Job sieht wie folgt aus:
./spark-submit --class "spark.examples.JavaWordCount" --master yarn://myserver1:8032 /root/JavaWordCount-1.0-SNAPSHOT.jar hdfs://myserver1:8020/user/root/hackrfoe.txt
Hier --Klasse ist: Der Einstiegspunkt für Ihre Anwendung (zB org.apache.spark.examples. SparkPi) --master: die Master-URL für den Cluster (zB Funke: //23.195.26.187: 7077) Das letzte Argument ist jede Textdatei Ihrer Wahl für das Programm.
sollte Der Ausgang dieses mögen, Wort zählt aller Wörter in der Textdatei geben.
in: 17
sleeping.: 1
sojourns: 1
What: 4
protect: 1
largest: 1
other: 1
public: 1
worst: 1
hackers: 12
detected: 1
from: 4
and,: 1
secretly: 1
breaking: 1
football: 1
answer.: 1
attempting: 2
"hacker: 3
Hoffe, das hilft!
+1 Gut dokumentierte Antwort. Ich habe es noch nicht ausprobiert, aber selbst wenn es kleine Fehler hat, wird es hilfreich sein. Ich werde melden, wenn irgendwelche Details fehlen. – javadba
Haben Sie dies überprüfen: https://spark.incubator.apache.org/docs/latest/quick-start.html – Venkat