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
Wenn der Befehl spark-submit dem Folgenden ähnelt:
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.