Heim >Java >javaLernprogramm >Wie füge ich mit Spark-Submit JAR-Dateien zu Spark-Jobs hinzu?

Wie füge ich mit Spark-Submit JAR-Dateien zu Spark-Jobs hinzu?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-15 00:25:02982Durchsuche

How to Add JAR Files to Spark Jobs with spark-submit?

Hinzufügen von JAR-Dateien zu Spark-Jobs mit spark-submit

Mehrdeutige Details

Die folgenden Details waren bisher unklar oder wurden weggelassen in der Dokumentation:

  • ClassPath: --driver-class-path und --conf spark.driver.extraClassPath wirken sich auf den Klassenpfad des Treibers aus, während --conf spark.executor.extraClassPath den Klassenpfad des Executors beeinflusst.
  • Trennzeichen: Linux verwendet einen Doppelpunkt (:), während Windows ein Semikolon verwendet (;).
  • Verteilung:

    • Client-Modus: JARs werden über HTTP von einem Server auf dem Treiberknoten verteilt.
    • Cluster-Modus: JARs müssen Worker-Knoten manuell über HDFS oder zur Verfügung gestellt werden ähnlich.
  • URIs: Das Schema „file:/“ wird vom Treiber-HTTP-Server bereitgestellt, während „hdfs“, „http“ und „ftp“ Dateien abrufen direkt aus der URI. „local:/“ geht davon aus, dass sich Dateien bereits auf jedem Worker-Knoten befinden.
  • Dateispeicherort: JARs werden in das Arbeitsverzeichnis auf jedem Worker-Knoten kopiert (normalerweise /var/run/spark/work ).

Betroffene Optionen

Optionen mit Vorrang von vom höchsten zum niedrigsten Wert:

  1. SparkConf-Eigenschaften werden direkt im Code festgelegt
  2. Flags, die an spark-submit übergeben werden
  3. Optionen in spark-defaults.conf

Option Analyse

  • --jars vs. SparkContext.addJar: Diese entsprechen dem Hinzufügen von JAR-Abhängigkeiten.
  • SparkContext.addJar vs. SparkContext. addFile: addJar für Abhängigkeiten, addFile für beliebige Dateien.
  • DriverClassPath-Optionen: --driver-class-path und --conf spark.driver.extraClassPath sind Aliase.
  • DriverLibraryPath-Optionen: --driver-library-path und --conf spark.driver.extraLibraryPath sind Aliase, die java.library.path darstellen.
  • Executor-Klassenpfad: --conf spark.executor.extraClassPath für Abhängigkeiten.
  • Executor-Bibliothekspfad: --conf spark.executor.extraLibraryPath für die JVM-Bibliothek Pfad.

Sichere Vorgehensweise beim Hinzufügen von JAR-Dateien

Der Einfachheit halber ist es im Client-Modus sicher, alle drei Hauptoptionen zusammen zu verwenden:

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 sollten externe JARs manuell über HDFS zu Worker-Knoten hinzugefügt werden.

Das obige ist der detaillierte Inhalt vonWie füge ich mit Spark-Submit JAR-Dateien zu Spark-Jobs hinzu?. 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