Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Visa Tabellhistorik (Grunder i Tidsresor) | Grundläggande Databricks-Koncept
Databricks-Grunder: En Nybörjarguide

Visa Tabellhistorik (Grunder i Tidsresor)

Svep för att visa menyn

Note
Definition

Time Travel är en Delta Lake-funktion som gör det möjligt att fråga tidigare versioner av en tabell. Genom att använda transaktionsloggen kan Databricks återskapa tillståndet för dina data från vilken tidpunkt som helst i dess registrerade historik.

En av de mest kraftfulla "säkerhetsnäten" i Databricks är möjligheten att se exakt vem som ändrade en tabell, när ändringen skedde och hur datan såg ut innan ändringen.

För vår diamonds-tabell på workspace.workshop.diamonds spåras varje uppdatering eller borttagning automatiskt.

1. Kommandot DESCRIBE HISTORY

För att se hela tidslinjen för dina data, använd kommandot DESCRIBE HISTORY — det ger en detaljerad redovisning av varje version av tabellen.

DESCRIBE HISTORY workspace.workshop.diamonds

När du kör detta kommer du att se en tabell med följande nyckelkolumner:

  • version: ett heltal som börjar från 0 (första gången tabellen skapades);
  • timestamp: det exakta datumet och tiden då ändringen skedde;
  • userName: personen som utförde åtgärden;
  • operation: vad som hände (t.ex. WRITE, UPDATE, DELETE eller MERGE);
  • operationParameters: tekniska detaljer om ändringen.

2. Fråga efter en specifik version

Om en nyligen gjord uppdatering har förstört kolumnen "Price" kan du fråga efter en äldre version för att se de ursprungliga värdena med hjälp av syntaxen 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. Fråga efter en viss tidpunkt

Om du inte känner till versionsnumret men vet att datan var korrekt vid en viss tidpunkt kan du "resa tillbaka" med 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. Varför detta är viktigt

I traditionella databaser, om du av misstag kör ett DELETE-kommando utan en WHERE-sats, måste du kontakta en databasadministratör för att återställa en backup — en process som kan ta flera timmar.

Med Delta Lake Time Travel kan du själv åtgärda misstaget på några sekunder genom att välja data från en tidigare version och skriva över den nuvarande trasiga tabellen med den friska historiska datan.

5. Hantering av historik

Som standard behåller Delta Lake 30 dagars historik. Även om detta är mycket användbart kräver lagring av historik att äldre datafiler sparas, men de underliggande datafilerna för borttagna/överskrivna versioner sparas endast i 7 dagar (delta.deletedFileRetentionDuration) innan VACUUM kan rensa bort dem.

I professionella miljöer använder dataingenjörer kommandot VACUUM för att rensa bort mycket gamla filer och minska lagringskostnaderna. För denna kurs är din historik säker och redo att utforskas.

VACUUM är ett städkkommando som permanent tar bort gamla datafiler som Delta Lake inte längre behöver — de som blivit kvar efter uppdateringar, borttagningar eller överskrivningar.

VACUUM workspace.workshop.diamonds

Som standard behåller Delta 30 dagars filhistorik för Time Travel. VACUUM tar bort filer som är äldre än denna gräns för att spara lagringsutrymme.

Du kan även ange ett anpassat behållningsfönster:

VACUUM workspace.workshop.diamonds RETAIN 7 HOURS

1. Vilket SQL-kommando låter dig se listan över alla tidigare versioner och åtgärder som utförts på en tabell?

2. Du råkade uppdatera tabellen diamonds och vill se data från för 10 minuter sedan. Vilken syntax ska du använda?

question mark

Vilket SQL-kommando låter dig se listan över alla tidigare versioner och åtgärder som utförts på en tabell?

Vänligen välj det korrekta svaret

question mark

Du råkade uppdatera tabellen diamonds och vill se data från för 10 minuter sedan. Vilken syntax ska du använda?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 5. Kapitel 3
some-alt