Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Visning af Tabelhistorik (Grundlæggende om Tidsrejser) | Kernebegreber i Databricks
Databricks Grundlæggende: En Begyndervejledning

Visning af Tabelhistorik (Grundlæggende om Tidsrejser)

Stryg for at vise menuen

Note
Definition

Time Travel er en Delta Lake-funktion, der gør det muligt at forespørge tidligere versioner af en tabel. Ved at bruge transaktionsloggen kan Databricks genskabe tilstanden af dine data fra ethvert tidspunkt i den registrerede historik.

En af de mest effektive "sikkerhedsnet" i Databricks er muligheden for at se præcis, hvem der har ændret en tabel, hvornår ændringen fandt sted, og hvordan dataene så ud før ændringen.

For vores diamonds-tabel i workspace.workshop.diamonds bliver hver opdatering eller sletning automatisk registreret.

1. Kommandoen DESCRIBE HISTORY

For at se den fulde tidslinje for dine data, brug kommandoen DESCRIBE HISTORY — den giver en detaljeret oversigt over hver version af tabellen.

DESCRIBE HISTORY workspace.workshop.diamonds

Når du kører denne kommando, vil du se en tabel med følgende nøglekolonner:

  • version: et heltal, der starter fra 0 (første gang tabellen blev oprettet);
  • timestamp: den præcise dato og tid for ændringen;
  • userName: personen, der udførte handlingen;
  • operation: hvad der skete (f.eks. WRITE, UPDATE, DELETE eller MERGE);
  • operationParameters: tekniske detaljer om ændringen.

2. Forespørgsel på en specifik version

Hvis en nylig opdatering har ødelagt "Price"-kolonnen, kan du forespørge en specifik ældre version for at se de oprindelige værdier ved at bruge syntaksen 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. Forespørgsel efter tidsstempel

Hvis versionsnummeret ikke er kendt, men tidspunktet for de korrekte data er kendt, kan du "rejse" tilbage ved hjælp af 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. Hvorfor dette er vigtigt

I traditionelle databaser, hvis en DELETE-kommando køres ved et uheld uden en WHERE-klausul, skal en Database Administrator kontaktes for at gendanne en backup — en proces, der kan tage flere timer.

Med Delta Lake Time Travel kan fejlen rettes på få sekunder ved at vælge data fra en tidligere version og overskrive den nuværende ødelagte tabel med de sunde historiske data.

5. Håndtering af historik

Som standard gemmer Delta Lake 30 dages historik. Selvom dette er meget nyttigt, kræver det at gemme historik, at ældre datafiler opbevares, men de underliggende datafiler for slettede/overskrevne versioner opbevares kun i 7 dage (delta.deletedFileRetentionDuration), før VACUUM kan rydde dem op.

I professionelle miljøer bruger dataingeniører kommandoen VACUUM til at rydde meget gamle filer op og reducere lageromkostninger. For dette kursus er din historik sikker og klar til udforskning.

VACUUM er en oprydningskommando, der permanent sletter de gamle datafiler, som Delta Lake ikke længere har brug for — dem, der er efterladt efter opdateringer, sletninger eller overskrivninger.

VACUUM workspace.workshop.diamonds

Som standard gemmer Delta 30 dages filhistorik til Time Travel. VACUUM fjerner filer, der er ældre end denne grænse, for at spare lagerplads.

Du kan også angive et brugerdefineret opbevaringsvindue:

VACUUM workspace.workshop.diamonds RETAIN 7 HOURS

1. Hvilken SQL-kommando giver dig mulighed for at se listen over alle tidligere versioner og handlinger udført på en tabel?

2. Du har ved et uheld opdateret diamonds-tabellen og vil gerne se dataene fra for 10 minutter siden. Hvilken syntaks skal du bruge?

question mark

Hvilken SQL-kommando giver dig mulighed for at se listen over alle tidligere versioner og handlinger udført på en tabel?

Vælg det korrekte svar

question mark

Du har ved et uheld opdateret diamonds-tabellen og vil gerne se dataene fra for 10 minutter siden. Hvilken syntaks skal du bruge?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 5. Kapitel 3
some-alt