Uso delle opzioni Spark-Submit
Utilizza le opzioni compatibili spark-submit standard del settore per eseguire le applicazioni utilizzando le dipendenze di terze parti di Flusso dati.
PySpark consente di caricare i file Python (.py
), i pacchetti Python compressi (.zip
) e i file Egg (.egg
) negli esecutori in uno dei modi seguenti:
- Impostazione della configurazione
spark.submit.pyFiles
.
- Impostazione dell'opzione
--py-files
negli script Spark.
È possibile utilizzare le opzioni compatibili con Spark-Submit per ciascuna opzione.
Tuttavia, questi approcci non consentono di aggiungere pacchetti creati come Ruote, quindi non consentono di includere dipendenze con codice nativo. Per queste dipendenze, se si utilizza Spark 3.2.1 o versioni successive, creare prima un pacchetto Conda e passare tale pacchetto Conda a Data Flow aggiungendo Configurazione per spark.archives
o fornendo --archives
come opzione compatibile con Spark-Submit.
È possibile creare pacchetti Conda per le dipendenze Spark 3.2.1 seguendo le istruzioni disponibili all'indirizzo https://conda.github.io/conda-pack/spark.html e https://docs.conda.io/projects/conda-build/en/stable/user-guide/wheel-files.html.
Per Spark 3.2.1 o versioni successive, quando si utilizza spark.archives
o --archives
per fornire i pacchetti conda, i pacchetti vengono decompressi nella directory /opt/spark/work-dir
per impostazione predefinita quando il comando spark-submit è simile al seguente:
spark-submit --archives pyspark_conda_env.tar.gz app.py
spark-submit --archives pyspark_conda_env.tar.gz#your_environment app.py
Quindi viene decompresso nella directory /opt/spark/work-dir/<your_environment>
.
Per ulteriori esempi sull'approccio spark-submit, vedere Funzionalità Spark-Submit in Data Flow.