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.
Per ciascuna opzione è possibile utilizzare le opzioni compatibili con Spark-Submit.
Tuttavia, questi approcci non consentono di aggiungere pacchetti creati come Ruote, pertanto non consentono di includere dipendenze con codice nativo. Per tali dipendenze, se si utilizza Spark 3.2.1 o versione successiva, 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.