Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Visualisation de l’Historique des Tables (Principes de Base du Voyage dans le Temps) | Core Databricks Concepts
Fondamentaux de Databricks : Guide du Débutant

Visualisation de l’Historique des Tables (Principes de Base du Voyage dans le Temps)

Glissez pour afficher le menu

Note
Définition

Time Travel est une fonctionnalité de Delta Lake qui permet d'interroger les versions précédentes d'une table. En utilisant le journal des transactions, Databricks peut reconstruire l'état de vos données à n'importe quel moment de son historique enregistré.

L'un des "filets de sécurité" les plus puissants dans Databricks est la possibilité de voir exactement qui a modifié une table, quand elle a été modifiée, et à quoi ressemblaient les données avant cette modification.

Pour notre table diamonds à workspace.workshop.diamonds, chaque mise à jour ou suppression est suivie automatiquement.

1. La commande DESCRIBE HISTORY

Pour visualiser la chronologie complète de vos données, utilisez la commande DESCRIBE HISTORY — elle fournit un registre détaillé de chaque version de la table.

DESCRIBE HISTORY workspace.workshop.diamonds

Lorsque vous exécutez cette commande, vous verrez une table avec les colonnes clés suivantes :

  • version : un entier commençant à 0 (la première création de la table) ;
  • timestamp : la date et l'heure exactes de la modification ;
  • userName : la personne ayant effectué l'action ;
  • operation : l'action réalisée (par exemple, WRITE, UPDATE, DELETE ou MERGE) ;
  • operationParameters : détails techniques concernant la modification.

2. Interrogation d’une version spécifique

Si une mise à jour récente a modifié la colonne "Price", il est possible d’interroger une version antérieure pour consulter les valeurs d’origine à l’aide de la syntaxe VERSION AS OF.

-- Look at the diamonds table exactly as it was in Version 0
SELECT * FROM workspace.workshop.diamonds VERSION AS OF 0

3. Interrogation par horodatage

Si le numéro de version est inconnu mais que la date à laquelle les données étaient correctes est connue, il est possible de revenir dans le temps à l’aide de TIMESTAMP AS OF.

-- Look at the data as it existed at a specific time
SELECT * FROM workspace.workshop.diamonds TIMESTAMP AS OF '2026-02-11 09:00:00'

4. Importance de cette fonctionnalité

Dans les bases de données traditionnelles, une exécution accidentelle d’une commande DELETE sans clause WHERE nécessite l’intervention d’un administrateur de base de données pour restaurer une sauvegarde — un processus pouvant durer plusieurs heures.

Avec Delta Lake Time Travel, il est possible de corriger l’erreur en quelques secondes en sélectionnant les données d’une version antérieure et en écrasant la table actuelle corrompue avec les données historiques saines.

5. Gestion de l'historique

Par défaut, Delta Lake conserve 30 jours d'historique. Bien que très utile, la conservation de l'historique nécessite de garder les anciens fichiers de données, mais les fichiers de données sous-jacents des versions supprimées/écrasées ne sont conservés que pendant 7 jours (delta.deletedFileRetentionDuration) avant que la commande VACUUM puisse les nettoyer.

Dans les environnements professionnels, les ingénieurs de données utilisent la commande VACUUM pour nettoyer les fichiers très anciens et réduire les coûts de stockage. Pour ce cours, votre historique est sécurisé et prêt à être exploré.

VACUUM est une commande de nettoyage qui supprime définitivement les anciens fichiers de données dont Delta Lake n'a plus besoin — ceux laissés après des mises à jour, suppressions ou remplacements.

VACUUM workspace.workshop.diamonds

Par défaut, Delta conserve 30 jours d'historique de fichiers pour le Time Travel. VACUUM supprime les fichiers plus anciens que ce seuil afin d'économiser de l'espace de stockage.

Il est également possible de définir une fenêtre de rétention personnalisée :

VACUUM workspace.workshop.diamonds RETAIN 7 HOURS

1. Quelle commande SQL permet de voir la liste de toutes les versions précédentes et opérations effectuées sur une table ?

2. Vous avez accidentellement mis à jour la table diamonds et souhaitez voir les données d'il y a 10 minutes. Quelle syntaxe devez-vous utiliser ?

question mark

Quelle commande SQL permet de voir la liste de toutes les versions précédentes et opérations effectuées sur une table ?

Sélectionnez la réponse correcte

question mark

Vous avez accidentellement mis à jour la table diamonds et souhaitez voir les données d'il y a 10 minutes. Quelle syntaxe devez-vous utiliser ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 5. Chapitre 3
some-alt