Gestione delle librerie Spark

Si applica a: SQL Server 2019 (15.x)

Importante

Il componente aggiuntivo per i cluster Big Data di Microsoft SQL Server 2019 verrà ritirato. Il supporto per i cluster Big Data di SQL Server 2019 terminerà il 28 febbraio 2025. Tutti gli utenti esistenti di SQL Server 2019 con Software Assurance saranno completamente supportati nella piattaforma e il software continuerà a essere mantenuto tramite SQL Server aggiornamenti cumulativi fino a quel momento. Per altre informazioni, vedere il post di blog relativo all'annuncio e Opzioni per i Big Data nella piattaforma Microsoft SQL Server.

Questo articolo fornisce indicazioni su come importare e installare pacchetti per una sessione Spark tramite configurazioni di sessione e notebook.

Strumenti predefiniti

Pacchetti di base Scala Spark (Scala 2.12) e Hadoop.

PySpark (Python 3.8). Pandas, Sklearn, Numpy e altri pacchetti per l'elaborazione dati e l'apprendimento automatico.

Pacchetti MRO 3.5.2. Sparklyr e SparkR per carichi di lavoro R Spark.

Installare i pacchetti da un repository Maven nel cluster Spark in fase di esecuzione

I pacchetti Maven possono essere installati nel cluster Spark usando la configurazione della cella del notebook all'inizio della sessione Spark. Prima di avviare una sessione Spark in Azure Data Studio, eseguire il codice seguente:

%%configure -f \
{"conf": {"spark.jars.packages": "com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.1"}}

Più pacchetti e configurazioni Spark aggiuntive

Nella cella del notebook di esempio seguente sono definiti più pacchetti.

%%configure -f \
{
    "conf": {
        "spark.jars.packages": "com.microsoft.azure:synapseml_2.12:0.9.4,com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.1",
        "spark.jars.repositories":"https://mmlspark.azureedge.net/maven"
    }
}

Installare pacchetti Python in PySpark in fase di esecuzione

La gestione dei pacchetti a livello di sessione e di processo garantisce la coerenza e l'isolamento della libreria. La configurazione è una configurazione della libreria standard Spark che può essere applicata alle sessioni Livy. azdata spark supporta queste configurazioni. Gli esempi seguenti si riferiscono a quando i notebook di Azure Data Studio configurano le celle che devono essere eseguite dopo il collegamento a un cluster con il kernel PySpark.

Se la configurazione "spark.pyspark.virtualenv.enabled" : "true" non è impostata, la sessione userà le librerie Python e installate predefinite del cluster.

Configurazione di sessioni/processi con requirements.txt

Specificare in HDFS il percorso di un file requirements.txt da usare come riferimento per l'installazione dei pacchetti.

%%configure -f \
{
    "conf": {
        "spark.pyspark.virtualenv.enabled" : "true",
        "spark.pyspark.virtualenv.python_version": "3.8",
        "spark.pyspark.virtualenv.requirements" : "hdfs://user/project-A/requirements.txt"
    }
}

Configurazione di sessioni/processi con versioni di Python diverse

Creare un virtualenv Conda senza file di requisiti e aggiungere dinamicamente i pacchetti durante la sessione di Spark.

%%configure -f \
{
    "conf": {
        "spark.pyspark.virtualenv.enabled" : "true",
        "spark.pyspark.virtualenv.python_version": "3.7"
    }
}

Installazione di una libreria

Eseguire sc.install_packages per installare le librerie in modo dinamico nella sessione. Le librerie verranno installate nel driver e in tutti i nodi dell'executor.

sc.install_packages("numpy==1.11.0")
import numpy as np

È anche possibile installare più librerie con lo stesso comando usando una matrice.

sc.install_packages(["numpy==1.11.0", "xgboost"])
import numpy as np
import xgboost as xgb

Importare file con estensione jar da HDFS per l'uso in fase di esecuzione

Importare file con estensione jar in fase di esecuzione tramite la configurazione della cella del notebook di Azure Data Studio.

%%configure -f
{"conf": {"spark.jars": "/jar/mycodeJar.jar"}}

Passaggi successivi

Per altre informazioni sui cluster Big Data di SQL Server e sugli scenari correlati, vedere Cluster Big Data di SQL Server.