Fermer

juin 25, 2024

Présentation des tables Delta Databricks / Blogs / Perficient

Présentation des tables Delta Databricks / Blogs / Perficient


Les tables Databricks Delta sont une fonctionnalité avancée de stockage et de gestion des données de Databricks, offrant un cadre unifié pour la gestion et l’optimisation des données. Les tables Delta sont construites sur Apache Spark, améliorant les capacités de Spark en fournissant des transactions ACID pour l’intégrité des données, une gestion évolutive des métadonnées pour une gestion efficace des grands ensembles de données, Time Travel pour interroger les versions précédentes de données et la prise en charge du traitement des données en streaming et par lots dans de manière unifiée.

Principales caractéristiques:

Transactions ACIDE: Prend en charge les transactions d’atomicité, de cohérence, d’isolement et de durabilité (ACID), garantissant l’intégrité et la fiabilité des données.

Gestion évolutive des métadonnées: Gérez efficacement les métadonnées des données à grande échelle, garantissant des performances de requête rapides même lorsque la taille des données augmente.

Application du schéma: Delta applique des schémas pour maintenir la cohérence des données et empêcher leur corruption.

Versionnement des données: versionne automatiquement les données et conserve un historique des modifications, permettant ainsi l’audit et la restauration des données.

Voyage dans le temps: Cette fonctionnalité permet aux utilisateurs d’interroger les versions antérieures des données, ce qui facilite la récupération après des suppressions ou des modifications accidentelles.

Création d’une table Delta :

Le DDL pour table delta est presque similaire au parquet.

Créer une table NomTable (
columns_A chaîne,
colonnes_B int,
horodatage columns_C
) Utilisation de Delta
partitionné par (chaîne columns_D)
Emplacement ‘dbfs:/delta/TableName’

Conversion du parquet en table Delta :

Nous pouvons utiliser la commande ci-dessous pour convertir une table Parquet existante en table Delta.

convertir en nom de table delta partitionné par (chaîne columns_D)

Propriétés supplémentaires de la table Delta :

Il existe plusieurs propriétés de table que nous pouvons utiliser pour modifier l’apparence ou le comportement de la table. nous pouvons définir et supprimer les tables sur la table existante en utilisant les commandes ci-dessous

modifier la table tableName SET TBLPROPERTIES (‘clé’, ‘valeur’);

modifier la table tableName UNSET TBLPROPERTIES (‘clé’);

delta.autoOptimize.autoCompact : Cette propriété nous permet de contrôler la taille du fichier pièce en sortie. Définir la valeur sur « true » active le compactage automatique, qui combine les petits fichiers dans les partitions de la table Delta. Ce compactage automatique réduit les problèmes liés à la présence de nombreux petits fichiers.

delta.autoOptimize.optimizeWrite : Définir la valeur sur « true » active les écritures optimisées, qui améliorent la taille du fichier à mesure que les données sont écrites et améliorent les performances des lectures ultérieures sur la table. Les écritures optimisées sont plus efficaces pour les tables partitionnées, car elles réduisent le nombre de petits fichiers écrits sur chaque partition.

delta.deletedFileRetentionDuration : Nous pouvons utiliser la propriété ‘interval ‘ pour définir la durée pendant laquelle les fichiers de données sont stockés dans une table Delta. La durée par défaut est de 7 jours. L’exécution de la commande VACUUM supprime les fichiers de données qui ne sont plus référencés dans la version actuelle de la table, permettant ainsi le voyage dans le temps dans les tables Delta. En revanche, augmenter la durée peut entraîner des coûts de stockage plus élevés, car davantage de fichiers de données sont conservés.

delta.logRetentionDuration : Cette propriété contrôle la durée de conservation de l’historique de la table, qui correspond essentiellement aux fichiers journaux delta. Nous pouvons définir la durée en utilisant le format ‘intervalle ‘. La durée par défaut est de 30 jours. Cet intervalle doit être supérieur ou égal à l’intervalle du fichier de données.

Il est recommandé d’exécuter les commandes OPTIMIZE et VACUUM après chaque chargement réussi ou à intervalles réguliers pour améliorer les performances de la table et supprimer les anciens fichiers de données du stockage.

Les références:

https://docs.databricks.com/en/delta/index.html

Conclusion:

Les tables Databricks Delta améliorent considérablement les fonctionnalités d’Apache Spark en offrant une intégrité robuste des données via des transactions ACID, une gestion efficace de grands ensembles de données avec une gestion évolutive des métadonnées, la possibilité d’interroger des données historiques avec Time Travel et la commodité d’un traitement unifié des données en continu et par lots.






Source link