Ich habe eine Apache Spark-Anwendung mit Java erstellt. Es zählt nur die Zeilen mit dem "Funken" -Wort 1000 Mal.
Hier ist mein Code:
%Vor% Wenn ich in der Eclipse-IDE debugge, stoße ich auf java.lang.ClassNotFoundException
:
Ich habe auch versucht, dies innerhalb des Clusters mit spark-submit
zu implementieren, aber es wurde trotzdem die gleiche Ausnahme gefunden. Hier ist ein Teil des Stacktrace:
Irgendwelche Ideen, wie man das löst? Vielen Dank im Voraus!
Sie müssen das Glas mit Ihrer Arbeit an die Arbeiter liefern. Um dies zu tun, muss maven ein jar bauen und dieses jar dem Kontext hinzufügen:
%Vor%Für einen 'echten' Job müssten Sie ein Jar mit Abhängigkeiten erstellen (überprüfen Sie das Maven Schatten-Plugin), aber für einen einfachen Job ohne externe Abhängigkeiten genügt ein einfaches Jar.
[*] Ich bin nicht sehr vertraut mit der Spark-Java-API, vorausgesetzt, es sollte so etwas sein.
Sie müssen Ihr Glas in den Klassenpfad des Mitarbeiters einschließen. Sie können dies auf zwei Arten tun:
Der erste ist die empfohlene Methode.
Dies kann auch passieren, wenn Sie bei Verwendung der Befehlszeile spark-submit
nicht den vollständigen Paketnamen angeben. Wenn Ihre main
-Methode für die Anwendung in test.spark.SimpleApp
ist, muss die Befehlszeile etwa so aussehen:
Das Hinzufügen von --class "SimpleApp"
wird mit ClassNotFoundException
fehlschlagen.
Tags und Links apache-spark