Partager via


Delta Lake sur des clusters Big Data SQL Server

S’applique à : SQL Server 2019 (15.x)

Important

Le module complémentaire Clusters Big Data Microsoft SQL Server 2019 sera mis hors service. La prise en charge de la plateforme Clusters Big Data Microsoft SQL Server 2019 se terminera le 28 février 2025. Tous les utilisateurs existants de SQL Server 2019 avec Software Assurance seront entièrement pris en charge sur la plateforme, et le logiciel continuera à être maintenu par les mises à jour cumulatives SQL Server jusqu’à ce moment-là. Pour plus d’informations, consultez le billet de blog d’annonce et les Options Big Data sur la plateforme Microsoft SQL Server.

Dans ce guide, vous allez apprendre :

  • Les conditions requises et les capacités du Delta Lake sur Clusters Big Data SQL Server.
  • Comment charger les bibliothèques Delta Lake sur les clusters CU12 pour les utiliser avec les sessions et les travaux Spark 2.4.

Introduction

Delta Lake de Linux Foundation est une couche de stockage open source qui permet les transactions ACID (atomicité, cohérence, isolation et durabilité) dans Apache Spark et les charges de travail Big Data. Pour plus d’informations sur Delta Lake, consultez :

Delta Lake sur Clusters Big Data SQL Server CU13 et versions ultérieures (Spark 3)

Delta Lake est installé et configuré par défaut sur Clusters Big Data SQL Server CU13 et versions ultérieures. Aucune action supplémentaire n’est requise.

Cet article traite de la configuration de Delta Lake sur Clusters Big Data SQL Server CU12 et versions antérieures.

Configurer Delta Lake sur Clusters Big Data SQL Server CU12 et versions antérieures (Spark 2.4)

Sur Clusters Big Data SQL Server CU12 et versions antérieures, il est possible de charger les bibliothèques Delta Lake en utilisant la fonctionnalité de gestion des bibliothèques Spark.

Notes

En règle générale, vous devez utiliser la bibliothèque compatible la plus récente. Le code de ce guide a été testé en utilisant Delta Lake 0.6.1 sur Clusters Big Data SQL Server CU12. Delta Lake 0.6.1 est compatible avec Apache Spark 2.4.x ; les versions ultérieures ne sont pas compatibles. Les exemples sont fournis tels quels sans déclaration de prise en charge.

Configurer les options de configuration de la bibliothèque Delta Lake et de Spark

Configurez vos bibliothèques Delta Lake avec votre application avant de soumettre les travaux. La bibliothèque suivante est nécessaire :

  • delta-core : cette bibliothèque principale permet la prise en charge de Delta Lake.

La bibliothèque doit cibler Scala 2.11 et Spark 2.4.7. Cette exigence de Clusters Big Data SQL Server concerne SQL Server 2019 Cumulative Update 9 (CU9) et versions ultérieures.

Il est également nécessaire de configurer Spark pour activer les commandes SQL Spark spécifiques à Delta Lake et l’intégration du metastore. L’exemple ci-dessous montre comment un notebook Azure Data Studio peut configurer la prise en charge de Delta Lake :

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

Emplacements des bibliothèques partagées pour les travaux sur HDFS

Si plusieurs applications doivent utiliser la bibliothèque Delta Lake, copiez les fichiers JAR appropriés de la bibliothèque dans un emplacement partagé sur HDFS. Ensuite, tous les travaux doivent référencer les mêmes fichiers de bibliothèque.

Copiez les bibliothèques à l’emplacement commun :

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"

Installer les bibliothèques de manière dynamique

Vous pouvez installer des packages dynamiquement quand vous soumettez un travail en utilisant les fonctionnalités de gestion des packages de Clusters Big Data. Il y a une pénalité de temps de démarrage du travail en raison des téléchargements récurrents des fichiers bibliothèques lors de chaque soumission de travail.

Soumettre le travail Spark en utilisant azdata

L’exemple suivant utilise les fichiers JAR de bibliothèque partagée sur HDFS :

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

Cet exemple utilise la gestion dynamique des packages pour installer les dépendances :

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

Étapes suivantes

Pour découvrir comment utiliser efficacement Delta Lake, consultez les articles suivants.

Pour envoyer des travaux Spark à Clusters Big Data SQL Server à l’aide de points de terminaison azdata ou Livy, consultez Soumettre des travaux Spark à l’aide d’outils de ligne de commande.

Pour plus d’informations sur Clusters Big Data SQL Server et les scénarios connexes, consultez Présentation de Clusters Big Data SQL Server.