Freigeben über


Spark-Bibliotheksverwaltung

Gilt für: SQL Server 2019 (15.x)

Important

Die Big Data Cluster von Microsoft SQL Server 2019 werden eingestellt. Der Support für SQL Server 2019 Big Data Cluster endete am 28. Februar 2025. Weitere Informationen finden Sie im Ankündigungsblogbeitrag und den Big Data-Optionen auf der Microsoft SQL Server-Plattform.

Dieser Artikel enthält Anleitungen zum Importieren und Installieren von Paketen für eine Spark-Sitzung über Sitzungs- und Notizbuchkonfigurationen.

Built-in tools

Scala Spark (Scala 2.12) und Hadoop-Basispakete.

PySpark (Python 3.8). Pandas, Sklearn, Numpy und andere Datenverarbeitungs- und Machine Learning-Pakete.

MRO 3.5.2 Pakete. Sparklyr und SparkR für R Spark-Workloads.

Installieren von Paketen aus einem Maven-Repository auf dem Spark-Cluster zur Laufzeit

Maven-Pakete können mit der Notizbuchzellenkonfiguration zu Beginn der Spark-Sitzung auf Ihrem Spark-Cluster installiert werden. Führen Sie vor dem Starten einer Spark-Sitzung in Azure Data Studio den folgenden Code aus:

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

Mehrere Pakete und zusätzliche Spark-Konfigurationen

In der folgenden Beispielnotizbuchzelle werden mehrere Pakete definiert.

%%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"
    }
}

Installieren von Python-Paketen bei PySpark zur Laufzeit

Die Paketverwaltung auf Sitzungs- und Auftragsebene garantiert Bibliothekskonsistenz und Isolation. Die Konfiguration ist eine Spark-Standardbibliothekskonfiguration, die auf Livy-Sitzungen angewendet werden kann. azdata Spark unterstützt diese Konfigurationen. Die folgenden Beispiele werden dargestellt, da Azure Data Studio-Notizbücher Zellen konfigurieren, die nach dem Anfügen an einen Cluster mit dem PySpark-Kernel ausgeführt werden müssen.

Wenn die Konfiguration "spark.pyspark.virtualenv.enabled" : "true" nicht festgelegt ist, verwendet die Sitzung die Clusterstandard-Python und installierte Bibliotheken.

Sitzungs-/Auftragskonfiguration mit requirements.txt

Geben Sie den Pfad zu einer requirements.txt-Datei in HDFS an, die als Verweis für zu installierende Pakete verwendet werden soll.

%%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"
    }
}

Sitzungs-/Auftragskonfiguration mit verschiedenen Python-Versionen

Erstellen Sie eine conda virtualenv ohne Anforderungsdatei, und fügen Sie während der Spark-Sitzung dynamisch Pakete hinzu.

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

Library installation

Führen Sie die sc.install_packages aus, um Bibliotheken dynamisch in Ihrer Sitzung zu installieren. Bibliotheken werden auf dem Treiber und auf allen Executorknoten installiert.

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

Es ist auch möglich, mehrere Bibliotheken mit einem Array im selben Befehl zu installieren.

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

Importieren von .jar aus HDFS zur Verwendung zur Laufzeit

Importieren Sie jar zur Laufzeit über die Azure Data Studio-Notizbuchzellenkonfiguration.

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

Next steps

Weitere Informationen zu SQL Server-Big Data-Clustern und verwandten Szenarien finden Sie unter SQL Server Big Data Cluster.