Uso de opciones de Spark-Submit
Utilice opciones compatibles con spark-submit estándar del sector para ejecutar aplicaciones mediante dependencias de terceros de Data Flow.
PySpark permite cargar archivos Python (.py), paquetes Python comprimidos (.zip) y archivos Egg (.egg) a los ejecutores de una de las siguientes formas:
- Estableciendo la configuración en
spark.submit.pyFiles.
- Definición de la opción
--py-filesen scripts de Spark.
Puede utilizar opciones compatibles con Spark-Submit para cada una de las opciones.
Sin embargo, estos enfoques no le permiten agregar paquetes creados como ruedas, por lo que no le permiten incluir dependencias con código nativo. Para esas dependencias, si utiliza Spark 3.2.1 o posterior, cree primero un paquete Conda y transfiera ese paquete Conda a Data Flow agregando Configuración para spark.archives o proporcionando --archives como una opción compatible con Spark-Submit.
Puede crear paquetes Conda para dependencias de Spark 3.2.1 siguiendo las instrucciones de https://conda.github.io/conda-pack/spark.html y https://docs.conda.io/projects/conda-build/en/stable/user-guide/wheel-files.html.
Para Spark 3.2.1 o posterior, cuando utiliza spark.archives o --archives para proporcionar los paquetes conda, se desempaquetan en el directorio /opt/spark/work-dir por defecto cuando el comando spark-submit es similar a:
spark-submit --archives pyspark_conda_env.tar.gz app.py
spark-submit --archives pyspark_conda_env.tar.gz#your_environment app.pyA continuación, se desempaqueta en el directorio /opt/spark/work-dir/<your_environment>.
Consulte Funcionalidad de envío de Spark en Data Flow para obtener más ejemplos sobre el enfoque spark-submit.