Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
In diesem Leitfaden lernen Sie Folgendes:
- Die Voraussetzungen und Funktionen von Delta Lake für Big Data-Cluster für SQL Server
- Laden von Delta Lake-Bibliotheken in CU12-Clustern zur Verwendung mit Spark 2.4-Sitzungen und -Aufträgen
Introduction
Delta Lake von Linux Foundation ist eine Open-Source-Speicherebene, die ACID-Transaktionen (Atomizität, Konsistenz, Isolation und Dauerhaftigkeit) zu Apache Spark und Big-Data-Workloads unterstützt. Weitere Informationen zu Delta Lake finden Sie in den folgenden Artikeln:
Delta Lake in Big Data-Cluster für SQL Server CU13 und höher (Spark 3)
Delta Lake wird in Big Data-Cluster für SQL Server CU13 und höher standardmäßig installiert und konfiguriert. Es ist keine weitere Aktion erforderlich.
Dieser Artikel behandelt die Konfiguration von Delta Lake in Big Data-Cluster für SQL Server CU12 und früher.
Konfigurieren von Delta Lake in SQL Server-Big Data-Cluster CU12 und früher (Spark 2.4)
In Big Data-Cluster für SQL Server CU12 oder früher können Delta Lake-Bibliotheken mithilfe des Spark-Features für die Bibliotheksverwaltung geladen werden.
Note
Verwenden Sie generell die aktuellste kompatible Bibliothek. Der Code in diesem Leitfaden wurde mit Delta Lake 0.6.1 in Big Data-Cluster für SQL Server CU12 getestet. Delta Lake 0.6.1 ist mit Apache Spark 2.4.x kompatibel, für höhere Versionen gilt dies nicht. Die Beispiele werden in ihrer jetzigen Form bereitgestellt, damit wird aber keine Aussage zu einer möglichen Unterstützung getroffen.
Konfigurieren der Delta Lake-Bibliothek und Spark-Konfigurationsoptionen
Richten Sie Ihre Delta Lake-Clientbibliotheken mit Ihrer Anwendung ein, bevor Sie die Aufträge übermitteln. Die folgende Bibliothek ist erforderlich:
- delta-core: Diese Kernbibliothek ermöglicht Delta Lake-Unterstützung.
Die Bibliothek muss Scala 2.11 und Spark 2.4.7 als Ziel verwenden. Diese Big Data-Cluster für SQL Server-Anforderung gilt für das kumulative SQL Server 2019-Update 9 (CU9) oder höher.
Es ist außerdem erforderlich, Spark zu konfigurieren, um für Delta Lake spezifische Spark-SQL-Befehle und die Metastore-Integration zu ermöglichen. Das Beispiel unten zeigt, wie Delta Lake-Unterstützung für ein Azure Data Studio-Notebook konfiguriert werden kann:
%%configure -f \
{
"conf": {
"spark.jars.packages": "io.delta:delta-core_2.11:0.6.1",
"spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"
}
}
Freigegeben von Speicherorten für Bibliotheken für Aufträge in HDFS
Wenn mehrere Anwendungen die Delta Lake-Bibliothek nutzen, kopieren Sie die entsprechenden JAR-Bibliotheksdateien zu einem freigegebenen Speicherort in HDFS. Dann sollten alle Aufträge auf dieselben Bibliotheksdateien verweisen.
Kopieren Sie die Bibliotheken an den gemeinsamen Speicherort:
azdata bdc hdfs cp --from-path delta-core_2.11-0.6.1.jar --to-path "hdfs:/apps/jars/delta-core_2.11-0.6.1.jar"
Dynamisches Installieren der Bibliotheken
Sie können Pakete dynamisch installieren, wenn Sie einen Auftrag mithilfe der Paketverwaltungsfeatures von Big Data-Clustern übermitteln. Aufgrund der wiederholten Downloads der Bibliotheksdateien bei jeder Auftragsübermittlung gibt es beim Start des Auftrags eine Verzögerung.
Übermitteln des Spark-Auftrags mithilfe von azdata
Im folgenden Beispiel werden die JAR-Dateien der freigegebenen Bibliothek in HDFS verwendet:
azdata bdc spark batch create -f hdfs:/apps/ETL-Pipelines/my-delta-lake-python-job.py \
-j '["/apps/jars/delta-core_2.11-0.6.1.jar"]' \
--config '{"spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension","spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"}' \
-n MyETLPipelinePySpark --executor-count 2 --executor-cores 2 --executor-memory 1664m
In diesem Beispiel werden die Abhängigkeiten mithilfe von dynamischer Paketverwaltung installiert:
azdata bdc spark batch create -f hdfs:/apps/ETL-Pipelines/my-delta-lake-python-job.py \
--config '{"spark.jars.packages":"io.delta:delta-core_2.11:0.6.1","spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension","spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"' \
-n MyETLPipelinePySpark --executor-count 2 --executor-cores 2 --executor-memory 1664m
Next steps
Informationen zur effektiven Verwendung von Delta Lake finden Sie in den folgenden Artikeln.
Informationen zum Übermitteln von Spark-Aufträgen an SQL Server-Big Data-Cluster mithilfe von azdata- oder Livy-Endpunkten finden Sie unter Übermitteln von Spark-Aufträgen mit Befehlszeilentools.
Weitere Informationen zu Big Data-Cluster für SQL Server und verwandten Szenarien finden Sie unter Einführung in Big Data-Cluster für SQL Server.