Aller au contenu principal

Qu'est-ce que Delta Lake dans Databricks ?

Delta Lake est la couche de stockage optimisée qui constitue la base des tables dans un lakehouse sur Databricks. Delta Lake est un logiciel open source qui étend les fichiers de données Parquet avec un journal de transactions basé sur des fichiers pour les transactions ACID et la gestion évolutive des métadonnées. Delta Lake est entièrement compatible avec les APIs Apache Spark et a été développé pour une intégration étroite avec Structured Streaming, vous permettant d'utiliser facilement une seule copie des données pour les opérations batch et streaming, et offrant un traitement incrémentiel à l'échelle.

Delta Lake est le format default pour toutes les Opérations sur Databricks. Sauf indication contraire, toutes les tables sur Databricks sont des tables Delta Lake. Databricks a initialement développé le protocole Delta Lake et continue de contribuer activement au projet open source. De nombreuses optimisations et produits de la plateforme Databricks s'appuient sur les garanties fournies par Apache Spark et Delta Lake. Pour plus d'informations sur les optimisations sur Databricks, consultez les recommandations d'optimisation sur Databricks.

Pour des informations de référence sur les commandes SQL de Delta Lake, consultez Instructions Delta Lake.

Le journal des transactions Delta Lake dispose d'un protocole ouvert bien défini qui peut être utilisé par n'importe quel système pour lire le journal. Consultez le Protocole de journal des transactions Delta.

Démarrer avec Delta Lake

Toutes les tables sur Databricks sont des tables Delta Lake par default. Que vous utilisiez les DataFrames Apache Spark ou SQL, vous bénéficiez de tous les avantages de Delta Lake simplement en enregistrant vos données dans le lakehouse avec les paramètres default.

Pour des exemples d'Opérations de base Delta Lake, 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 les recommandations et les bonnes pratiques de Databricks concernant l'utilisation de Delta Lake, consultez Bonnes pratiques : Delta Lake.

Conversion et ingestion de données dans Delta Lake

Databricks dispose de nombreuses fonctionnalités pour accélérer et simplifier le chargement des données dans votre lakehouse.

Pour une liste complète des options d'ingestion, consultez les connecteurs standard dans Lakeflow Connect.

Mise à jour et modification des tables Delta Lake

Les transactions atomiques avec Delta Lake vous permettent d'utiliser de nombreuses options pour la mise à jour des données et des métadonnées. Pour éviter d'altérer vos tables, Databricks vous recommande d'éviter d'interagir directement avec les données et les fichiers journaux de transactions dans les répertoires de fichiers Delta Lake.

Charges de travail incrémentielles et de streaming sur Delta Lake

Delta Lake est optimisé pour le Structured Streaming sur Databricks. Les LakeFlow Pipelines étendent les capacité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 gérées.

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 examiner les modifications apportées à votre table et interroger les versions précédentes de la table. Consultez Gérer l’historique des tables.

améliorations du schéma Delta Lake

Delta Lake valide le schéma à l'écriture, garantissant que toutes les données écrites dans une table correspondent aux exigences que vous avez définies.

Gestion des fichiers et indexation des données avec Delta Lake

Databricks définit de nombreux paramètres default pour Delta Lake qui affectent la taille des fichiers de données et le nombre de versions de table conservées dans l’historique. Delta Lake utilise une combinaison d'analyse des métadonnées et de Layout physique des données pour réduire le nombre de fichiers analysés afin de satisfaire toute query.

Configuration et examen des paramètres de Delta Lake

Databricks stocke toutes les données et les métadonnées pour les tables Delta Lake dans le stockage d'objets cloud. De nombreuses configurations peuvent être définies au niveau de la table ou au sein de la session Spark. Vous pouvez examiner les détails de la table Delta Lake pour découvrir les options configurées.

Pipelines de données utilisant Delta Lake et LakeFlow Pipelines

Databricks encourage les utilisateurs à tirer parti d'une architecture en médaillon pour traiter les données via une série de tables à mesure que les données sont nettoyées et enrichies. LakeFlow Pipelines simplifient les charges de travail ETL grâce à une exécution optimisée et au déploiement et à la mise à l'échelle automatisés de l'infrastructure.

Compatibilité des fonctionnalités Delta Lake

Toutes les fonctionnalités de Delta Lake ne sont pas disponibles dans toutes les versions de Databricks Runtime. Pour plus d'informations sur le contrôle de version de Delta Lake, consultez Compatibilité des fonctionnalités et protocoles Delta Lake.

Documentation de l'API Delta Lake

Pour la plupart des opérations de lecture et d'écriture sur les tables Delta Lake, vous pouvez utiliser Spark SQL ou les API DataFrame Apache Spark.

Pour les instructions SQL spécifiques à Delta Lake, consultez les instructions Delta Lake.

Databricks assure la compatibilité binaire avec les APIs Delta Lake dans Databricks Runtime. Pour afficher la version de l'API Delta Lake incluse dans chaque version de Databricks Runtime, consultez la section System environment de l'article pertinent dans les notes de publication de Databricks Runtime. Pour la documentation sur les APIs Delta Lake pour Python, Scala et Java, consultez la documentation OSS Delta Lake.