Heim >Java >javaLernprogramm >Wie füge ich mit Spark-Submit JAR-Dateien zu einem Spark-Job hinzu und wie funktioniert der Klassenpfad?

Wie füge ich mit Spark-Submit JAR-Dateien zu einem Spark-Job hinzu und wie funktioniert der Klassenpfad?

Barbara Streisand
Barbara StreisandOriginal
2024-11-11 04:34:02251Durchsuche

How do I Add JAR Files to a Spark Job with Spark-Submit and How Does the Classpath Work?

Hinzufügen von JAR-Dateien zu einem Spark-Job mit Spark-Submit

ClassPath-Effekte

Verwenden extraClassPath oder --driver-class-path legt den Klassenpfad für den Treiberknoten fest, während spark.executor.extraClassPath ihn für Arbeitsknoten festlegt. Damit ein JAR beide betrifft, geben Sie es in beiden Konfigurationen an.

Trennzeichen

Das verwendete Trennzeichen hängt vom Betriebssystem ab:

  • Linux: Doppelpunkt (:)
  • Windows: Semikolon (;)

Dateiverteilung

Im Client-Modus werden Dateien über verteilt ein HTTP-Server. Im Clustermodus müssen sie den Mitarbeitern über HDFS oder einen anderen gemeinsam genutzten Speicher zur Verfügung gestellt werden.

URI-Typen

Zu den akzeptierten URL-Schemata gehören:

  • Datei: – Wird vom HTTP-Server des Treibers bereitgestellt
  • hdfs:, http:, https:, ftp: – Dateien direkt abrufen
  • Lokal: – Setzt voraus, dass Dateien auf jedem Worker-Knoten vorhanden sind

Betroffene Optionen

  • --jars (oder SparkContext.addJar): Fügt JARs hinzu, ohne den Klassenpfad zu ändern.
  • --conf spark.driver.extraClassPath: Fügt JARs zum Klassenpfad des Treibers hinzu.
  • --conf spark.driver.extraLibraryPath: Fügt Pfade zu externen hinzu Bibliotheken für den Treiber.
  • --conf spark.executor.extraClassPath: Fügt JARs zum Worker-Klassenpfad hinzu.
  • --conf spark.executor.extraLibraryPath : Fügt Pfade zu externen Bibliotheken für Arbeiter hinzu.

Priorität

Direkt auf der SparkConf festgelegte Werte haben Vorrang vor Flags oder Spark-Submit-Optionen.

Der Einfachheit halber

Im Client-Modus kann man Folgendes verwenden, um JARs für Fahrer und Arbeiter hinzuzufügen:

spark-submit --jars additional1.jar,additional2.jar \
  --driver-class-path additional1.jar:additional2.jar \
  --conf spark.executor.extraClassPath=additional1.jar:additional2.jar \
  --class MyClass main-application.jar

Im Cluster-Modus Stellen Sie jedoch sicher, dass JARs über ein gemeinsames Speichersystem zugänglich sind.

Das obige ist der detaillierte Inhalt vonWie füge ich mit Spark-Submit JAR-Dateien zu einem Spark-Job hinzu und wie funktioniert der Klassenpfad?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn