Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Delta Lake est la couche de stockage optimisée qui fournit la base des tables d’un lakehouse sur Databricks. Delta Lake est un logiciel open source qui étend les fichiers de données Parquet avec un journal des transactions basé sur des fichiers pour les transactions ACID et le traitement évolutif des métadonnées. Delta Lake est entièrement compatible avec les API Apache Spark et a été développé dans une optique d’intégration étroite avec Structured Streaming : vous pouvez facilement utiliser une seule copie de données à la fois pour les opérations de traitement par lots et les opérations de streaming, avec les avantages d’un traitement incrémentiel à grande échelle.
Delta Lake est le format par défaut pour toutes les opérations sur Azure Databricks. Sauf indication contraire, toutes les tables sur Azure Databricks sont des tables Delta Lake. Databricks a initialement développé le protocole Delta Lake et continue de contribuer activement au projet open source. Une large part des optimisations et des produits proposés dans le lakehouse Databricks reposent sur les garanties fournies par Apache Spark et Delta Lake. Pour plus d’informations sur les optimisations sur Azure Databricks, consultez Recommandations en matière d’optimisation sur Azure Databricks.
Pour obtenir des informations de référence sur les commandes SQL Delta Lake, consultez Instructions Delta Lake.
Le journal des transactions Delta Lake possède un protocole ouvert bien défini qui peut être utilisé par n’importe quel système pour lire le journal. Voir Protocole du journal des transactions Delta
Bien démarrer avec Delta Lake
Toutes les tables sur Azure Databricks sont des tables Delta Lake par défaut. Que vous utilisiez des DataFrames Apache Spark ou SQL, vous bénéficiez de tous les avantages de Delta Lake simplement en enregistrant vos données dans lakehouse avec les paramètres par défaut.
Pour obtenir des exemples d’opérations Delta Lake de base telles que la création de tables, la lecture, l’écriture et la mise à jour de données, consultez Tutoriel : Créer et gérer des tables Delta Lake.
Pour obtenir des recommandations databricks et des meilleures pratiques sur l’utilisation de Delta Lake, consultez les meilleures pratiques : Delta Lake.
Conversion et ingestion de données dans Delta Lake
Azure Databricks dispose de nombreuses fonctionnalités pour accélérer et simplifier le chargement des données dans votre lakehouse.
| Méthode | Description |
|---|---|
| Tutoriel : Créer un pipeline ETL avec des pipelines déclaratifs Spark Lakeflow | Créez un pipeline ETL de bout en bout à l’aide de pipelines déclaratifs Spark Lakeflow. |
| Configurer l’ingestion incrémentielle à partir de Azure Data Lake Storage | Configurez l’ingestion incrémentielle à partir du stockage cloud à l’aide du chargeur automatique et des pipelines déclaratifs Spark Lakeflow. |
| Tables de streaming | Utilisez des tables de streaming pour l’ingestion en ajout seul et le streaming à faible latence dans les pipelines déclaratifs Lakeflow Spark. |
| Commencez à utiliser COPY INTO pour charger des données | Chargez des données de manière incrémentielle et idempotente à partir du stockage cloud à l’aide de SQL. |
| Qu’est-ce que le chargeur automatique ? | Ingérer des fichiers à partir du stockage cloud de manière incrémentielle à mesure qu’ils arrivent. |
| Créer ou modifier une table à l’aide du chargement de fichiers | Chargez des fichiers et créez des tables à partir de l’interface utilisateur Azure Databricks. |
| Cloner de manière incrémentielle des tables Parquet et Apache Iceberg vers Delta Lake | Clonez de manière incrémentielle des tables Parquet ou Apache Iceberg dans Delta Lake. |
| Convertir en Delta Lake | Conversion ponctuelle de tables Parquet ou Apache Iceberg vers Delta Lake. |
| Partenaires technologiques | Connectez vos partenaires et outils tiers à votre Azure Databricks lakehouse. |
Pour obtenir la liste complète des options d’ingestion, consultez les connecteurs Standard dans Lakeflow Connect.
Mise à jour et modification de tables Delta Lake
Les transactions atomiques avec Delta Lake vous permettent d’utiliser de nombreuses options pour mettre à jour les données et les métadonnées. Pour éviter d’endommager vos tables, Databricks vous recommande d’éviter d’interagir directement avec les fichiers journaux des données et des transactions dans les répertoires de fichiers Delta Lake.
| Operation | Description |
|---|---|
| Effectuer un upsert dans une table Delta Lake avec MERGE | Mettre à jour ou insérer des données dans une table Delta Lake à l’aide de l’opération de fusion. |
| Remplacer de manière sélective les données avec Delta Lake | Remplacez les sous-ensembles de données en fonction des filtres et des partitions. |
| Mettre à jour les schémas de table avec l’évolution du schéma | Mettez à jour manuellement ou automatiquement votre schéma de table sans réécrire des données. |
| Renommer et supprimer des colonnes avec le mappage de colonnes Delta Lake | Renommez ou supprimez des colonnes sans réécrire des données. |
Charges de travail incrémentielles et de streaming sur Delta Lake
Delta Lake est optimisé pour Structured Streaming (streaming structuré) sur Azure Databricks. Les pipelines déclaratifs Spark Lakeflow étendent les fonctionnalités intégrées avec un déploiement d’infrastructure simplifié, une mise à l’échelle améliorée et des dépendances de données managées.
| Fonctionnalité | Description |
|---|---|
| Lectures et écritures en streaming d’une table Delta Lake | Utilisez des tables Delta Lake comme sources et récepteurs pour Structured Streaming avec readStream et writeStream. |
| Utiliser le flux de données modifiées sur Azure Databricks | Suivez les modifications au niveau des lignes entre les versions d’une table Delta Lake ou Apache Iceberg v3. |
Interrogation des versions précédentes d’une table
Chaque écriture dans une table Delta Lake crée une nouvelle version de table. Vous pouvez utiliser le journal des transactions pour passer en revue les modifications apportées à votre table et interroger les versions précédentes de la table. Voir Utiliser l’historique des tables.
Améliorations du schéma Delta Lake
Delta Lake valide le schéma en écriture, ce qui garantit que toutes les données écrites dans une table correspondent aux exigences que vous avez définies.
| Fonctionnalité | Description |
|---|---|
| Application du schéma | Validez la qualité des données en appliquant le schéma en écriture. |
| Contraintes sur Azure Databricks | Appliquez les contraintes d’intégrité imposées ainsi que les contraintes informationnelles de clé primaire, de clé étrangère et d’unicité. |
| Colonnes générées par Delta Lake | Générez automatiquement des valeurs de colonne à l’aide de fonctions spécifiées par l’utilisateur. |
| Enrichir des tables avec des métadonnées personnalisées | Ajoutez des commentaires et des métadonnées personnalisées aux tables et aux colonnes pour enrichir la découverte des données. |
Gestion des fichiers et indexation des données avec Delta Lake
Azure Databricks définit de nombreux paramètres par défaut pour Delta Lake qui impactent la taille des fichiers de données et le nombre de versions de table conservées dans l’historique. Delta Lake combine l’analyse des métadonnées et la disposition des données physiques pour réduire le nombre de fichiers analysés en réponse à une requête.
| Fonctionnalité | Description |
|---|---|
| Utiliser le clustering liquide pour les tables | Simplifiez la disposition des données et optimisez les performances des requêtes sans partitionner à l’aide du clustering liquide. |
| Saut de données | Ignorez les fichiers non pertinents au moment de la requête à l’aide des statistiques de colonne, de l’ordre Z et de la disposition des données optimisées. |
| Optimiser la disposition des fichiers de données | Compactez les petits fichiers de données pour améliorer les performances des requêtes. |
| Supprimer les fichiers de données inutilisés en utilisant l'aspirateur | Supprimez les fichiers de données obsolètes pour réduire les coûts de stockage. |
| Suppression automatique de lignes avec durée de vie automatique | Supprimez automatiquement les lignes des tables gérées après une période configurable. |
| Contrôler la taille du fichier de données | Contrôler manuellement la taille du fichier cible ou activer le réglage automatique de la taille de fichier. |
Configuration et examen des paramètres Delta Lake
Azure Databricks stocke toutes les données et métadonnées des tables Delta Lake dans le stockage d’objets cloud. Beaucoup de configurations peuvent être définies soit au niveau de la table, soit dans la session Spark. Vous pouvez consulter les détails de la table Delta Lake pour découvrir les options configurées.
| Fonctionnalité | Description |
|---|---|
| Passer en revue les détails du tableau avec décrire les détails | Affichez les configurations de table et les métadonnées à l’aide de la DESCRIBE DETAIL commande. |
| Informations de référence sur les propriétés de table | Liste de références des propriétés de table disponibles pour les tables Delta Lake. |
Pipelines de données utilisant des pipelines déclaratifs Delta Lake et Lakeflow Spark
Azure Databricks encourage les utilisateurs à utiliser une architecture de médaillon pour traiter les données à travers une série de tables à mesure que les données sont nettoyées et enrichies. Les pipelines déclaratifs Spark Lakeflow simplifient les charges de travail ETL grâce à l’exécution optimisée et au déploiement et à la mise à l’échelle de l’infrastructure automatisée.
Compatibilité des fonctionnalités Delta Lake
Les fonctionnalités Delta Lake ne sont pas forcément toutes disponibles dans toutes les versions de Databricks Runtime. Pour plus d’informations sur le contrôle de version Delta Lake, consultez la compatibilité et les protocoles des fonctionnalités Delta Lake.
Documentation des API Delta Lake
Pour la plupart des opérations de lecture et d’écriture sur des tables Delta Lake, vous pouvez utiliser des API Spark SQL ou Apache Spark DataFrame .
Pour obtenir des instructions SQL spécifiques à Delta Lake, consultez les instructions Delta Lake.
Azure Databricks assure la compatibilité binaire avec les API Delta Lake dans Databricks Runtime. Pour afficher la version de l’API Delta Lake empaquetée dans chaque version de Databricks Runtime, consultez la section Environnement système de l’article correspondant dans les notes de publication de Databricks Runtime. Pour obtenir de la documentation sur les API Delta Lake pour Python, Scala et Java, consultez la Documentation OSS Delta Lake.