Beim Senden eines Spark-JAR-Jobs mit „spark -submit“ haben Sie mehrere Möglichkeiten, zusätzliche JAR hinzuzufügen Dateien:
Optionen wie „--driver-class-path“ und „--spark.executor.extraClassPath“ werden zum Ändern des ClassPath verwendet. Durch das Hinzufügen einer JAR zum ClassPath kann Ihr Code die Klassen in dieser JAR finden und laden.
Das Trennzeichen für mehrere JAR-Dateien in den ClassPath-Einstellungen hängt vom Betriebssystem ab. Unter Linux ist es ein Doppelpunkt (':'), während es unter Windows ein Semikolon (';') ist.
JAR-Dateien, die über „--jars“ oder „ hinzugefügt werden SparkContext.addJar()“ werden im Client-Modus automatisch an alle Worker-Knoten verteilt. Im Cluster-Modus müssen Sie sicherstellen, dass alle Knoten über eine externe Quelle wie HDFS oder S3 auf die JAR-Dateien zugreifen können. „SparkContext.addFile()“ ist nützlich für die Verteilung nicht abhängiger Dateien.
„spark-submit“ akzeptiert JAR-Dateien mit verschiedenen URI-Schemata, einschließlich lokaler Dateipfade, HDFS , HTTP, HTTPS und FTP.
Zusätzliche JAR-Dateien werden in das Arbeitsverzeichnis jedes SparkContext auf Worker-Knoten kopiert, normalerweise unter „/var/run/spark/work“.
Eigenschaften, die direkt auf der SparkConf festgelegt werden, haben die höchste Priorität, gefolgt von Flags, die an „spark-submit“ übergeben werden, und dann Optionen in „spark-defaults.conf.“
Im Client-Modus ist dies der Fall Es ist sicher, mehrere Optionen zu verwenden, um JAR-Dateien sowohl zum Treiber- als auch zum Worker-Knoten hinzuzufügen. Im Cluster-Modus müssen Sie jedoch möglicherweise zusätzliche Methoden verwenden, um sicherzustellen, dass die JAR-Dateien für alle Worker-Knoten verfügbar sind.
Das obige ist der detaillierte Inhalt vonWie verwalte ich Spark-JAR-Dateiabhängigkeiten mit „spark-submit“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!