Utilisation des options spark-submit

Utilisez les options compatibles avec spark-submit standard du secteur pour exécuter des applications à l'aide de dépendances tierces Data Flow.

PySpark vous permet de télécharger des fichiers Python (.py), des packages Python compressés (.zip) et des fichiers Egg (.egg) vers les exécuteurs de l'une des manières suivantes :

  • Définition de la configuration spark.submit.pyFiles.
  • Définition de l'option --py-files dans les scripts Spark.

Vous pouvez utiliser des options compatibles Spark-Submit pour chacune des options.

Cependant, ces approches ne vous permettent pas d'ajouter des packages créés en tant que Wheels et ne vous permettent donc pas d'inclure des dépendances avec du code natif. Pour ces dépendances, si vous utilisez Spark 3.2.1 ou une version ultérieure, créez d'abord un pack conda et transmettez-le à Data Flow en ajoutant la configuration pour spark.archives ou en fournissant --archives en tant qu'option compatible Spark-Submit.

Vous pouvez créer des packs Conda pour les dépendances Spark 3.2.1 en suivant les instructions à l'adresse https://conda.github.io/conda-pack/spark.html et https://docs.conda.io/projects/conda-build/en/stable/user-guide/wheel-files.html.

Pour Spark 3.2.1 ou version ultérieure, lorsque vous utilisez spark.archives ou --archives pour fournir les conda-packs, ils sont décompressés sous le répertoire /opt/spark/work-dir par défaut lorsque la commande spark-submit est similaire à :

spark-submit --archives pyspark_conda_env.tar.gz app.py
Si la commande spark-submit est similaire à :
spark-submit --archives pyspark_conda_env.tar.gz#your_environment app.py

Il est ensuite décompressé dans le répertoire /opt/spark/work-dir/<your_environment>.

Pour plus d'exemples sur l'approche spark-submit, reportez-vous à Fonctionnalité de soumission Spark dans Data Flow.