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
Se il comando spark-submit è simile a:
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.