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
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.