Spark-Submit-Optionen verwenden
Verwenden Sie branchenübliche spark-submit-kompatible Optionen, um Anwendungen mit Data Flow-Abhängigkeiten von Drittanbietern auszuführen.
Mit PySpark können Sie Python-Dateien (.py
), gezippte Python-Packages (.zip
) und Egg-Dateien (.egg
) auf eine der folgenden Arten in die Executors hochladen:
- Konfiguration
spark.submit.pyFiles
wird festgelegt.
- Festlegen der Option
--py-files
in Spark-Skripten.
Sie können für jede der Optionen kompatible Spark-Submit-Optionen verwenden.
Mit diesen Ansätzen können Sie jedoch keine Packages hinzufügen, die als Wheels erstellt wurden. Sie können also keine Abhängigkeiten mit nativem Code aufnehmen. Wenn Sie für diese Abhängigkeiten Spark 3.2.1 oder höher verwenden, erstellen Sie zunächst ein Conda-Pack, und übergeben Sie dieses Conda-Pack an Data Flow, indem Sie die Konfiguration für spark.archives
hinzufügen oder --archives
als kompatible Spark-Submit-Option angeben.
Sie können Conda-Pakete für Spark 3.2.1-Abhängigkeiten erstellen, indem Sie die Anweisungen unter https://conda.github.io/conda-pack/spark.html und https://docs.conda.io/projects/conda-build/en/stable/user-guide/wheel-files.html befolgen.
Wenn Sie für Spark 3.2.1 oder höher spark.archives
oder --archives
zur Bereitstellung der Conda-Packs verwenden, werden diese standardmäßig unter dem Verzeichnis /opt/spark/work-dir
entpackt, wenn der Befehl spark-submit dem Folgenden ähnelt:
spark-submit --archives pyspark_conda_env.tar.gz app.py
spark-submit --archives pyspark_conda_env.tar.gz#your_environment app.py
Dann wird es unter dem Verzeichnis /opt/spark/work-dir/<your_environment>
entpackt.
Weitere Beispiele zum spark-submit-Ansatz finden Sie unter Spark-Submit-Funktionalität in Data Flow.