Taulun Historian Tarkastelu (Aikamatkailun Perusteet)
Pyyhkäise näyttääksesi valikon
Time Travel on Delta Lake -ominaisuus, jonka avulla voidaan kysellä taulun aiempia versioita. Käyttämällä Transaction Logia Databricks pystyy rekonstruoimaan datan tilan mistä tahansa tallennetun historian kohdasta.
Yksi Databricksin tehokkaimmista "turvaverkoista" on mahdollisuus nähdä tarkalleen, kuka muutti taulua, milloin muutos tehtiin ja miltä data näytti ennen muutosta.
Diamonds-taulussamme osoitteessa workspace.workshop.diamonds jokainen päivitys tai poisto tallentuu automaattisesti.
1. DESCRIBE HISTORY -komento
Koko datan aikajanan näkemiseksi käytetään komentoa DESCRIBE HISTORY — se tarjoaa yksityiskohtaisen kirjanpidon taulun jokaisesta versiosta.
DESCRIBE HISTORY workspace.workshop.diamonds
Tämän suorittamisen jälkeen näet taulun, jossa on seuraavat keskeiset sarakkeet:
- version: kokonaisluku alkaen arvosta 0 (ensimmäinen taulun luontikerta);
- timestamp: tarkka päivämäärä ja kellonaika, jolloin muutos tapahtui;
- userName: henkilö, joka suoritti toimenpiteen;
- operation: mitä tapahtui (esim.
WRITE,UPDATE,DELETEtaiMERGE); - operationParameters: tekniset tiedot muutoksesta.
2. Tietyn version kysely
Jos viimeaikainen päivitys sekoitti "Price"-sarakkeen, voit tarkastella tietyn vanhemman version alkuperäisiä arvoja käyttämällä VERSION AS OF -syntaksia.
-- Look at the diamonds table exactly as it was in Version 0
SELECT * FROM workspace.workshop.diamonds VERSION AS OF 0
3. Kysely aikaleiman perusteella
Jos et tiedä versionumeroa, mutta tiedät, että tiedot olivat oikein tiettyyn aikaan, voit "matkustaa ajassa" taaksepäin käyttämällä TIMESTAMP AS OF -syntaksia.
-- 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. Miksi tämä on tärkeää
Perinteisissä tietokannoissa, jos suoritat vahingossa DELETE-komennon ilman WHERE-ehtoa, sinun täytyy pyytää tietokanta-asiantuntijaa palauttamaan varmuuskopio — prosessi, joka voi kestää tunteja.
Delta Lake Time Travel -ominaisuuden avulla voit korjata virheen itse sekunneissa valitsemalla tiedot aiemmasta versiosta ja ylikirjoittamalla nykyisen rikkinäisen taulun terveellä historiallisella datalla.
5. Historian hallinta
Oletuksena Delta Lake säilyttää 30 päivän historian. Vaikka tämä on erittäin hyödyllistä, historian tallentaminen vaatii vanhojen tietotiedostojen säilyttämistä, mutta poistettujen tai ylikirjoitettujen versioiden taustalla olevat tiedostot säilytetään vain 7 päivää (delta.deletedFileRetentionDuration), ennen kuin VACUUM voi poistaa ne pysyvästi.
Ammattilaisympäristöissä data engineerit käyttävät VACUUM-komentoa poistaakseen hyvin vanhat tiedostot ja pienentääkseen tallennuskustannuksia. Tämän kurssin osalta historiasi on turvassa ja valmiina tutkittavaksi.
VACUUM on siivouskomento, joka poistaa pysyvästi vanhat tietotiedostot, joita Delta Lake ei enää tarvitse — ne, jotka jäävät päivitysten, poistojen tai ylikirjoitusten jälkeen.
VACUUM workspace.workshop.diamonds
Oletuksena Delta säilyttää 30 päivää tiedostohistoriaa Time Travel -ominaisuutta varten. VACUUM poistaa tätä vanhemmat tiedostot tallennustilan säästämiseksi.
Voit myös asettaa mukautetun säilytysajan:
VACUUM workspace.workshop.diamonds RETAIN 7 HOURS
1. Mikä SQL-komento näyttää kaikki aiemmat versiot ja taululle tehdyt toiminnot?
2. Päivitit vahingossa diamonds-taulua ja haluat nähdä tiedot 10 minuuttia sitten. Mitä syntaksia tulisi käyttää?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme