Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Käytä Delta Lake VACUUM -komentoa poistaaksesi pysyvästi datatiedostoja, joita Delta-taulu ei enää viittaa ja jotka ovat vanhempia kuin säilytysrajasi.
Fabric auttaa siivoamaan vanhentuneet VACUUM tiedostot OneLakessa päivitysten, poistojen, yhdistämisten ja tiivistämistoimintojen jälkeen. Se vähentää tallennustilan kulutusta, poistaa vanhentuneita tiedostoja, joita Fabric enää tarvitse aktiiviseen taulukkotilaan, ja ottaa tilaa takaisin huoltotoimenpiteiden, kuten OPTIMIZE, jälkeen.
VACUUM noudattaa samoja Delta Laken ydinkonsepteja, jotka saatat tuntea avoimen lähdekoodin Delta Lakesta, mutta sitä ajaa Fabric Spark-kokemuksissa, kuten muistikirjoissa, Spark-työmääritteissä ja Lakehousen Maintenance käyttöliittymässä.
Mitä VACUUM poistaa
Delta-taulukko seuraa tiedostoja, jotka muodostavat nykyisen taulutilan Delta-lokissa. Kun operaatiot kuten UPDATE, DELETE, MERGE, kirjoitukset tai tiivistäminen korvaavat vanhemmat Parquet-tiedostot uudemmilla, vanhat tiedostot voivat jäädä viittaamattomiksi.
VACUUM poistaa nämä viitamattomat tiedostot vain, kun molemmat ehdot ovat voimassa:
- Tiedostoja ei enää viitata Delta-lokissa.
- Tiedostot ovat vanhempia kuin konfiguroitu säilytyskynnys.
Koska VACUUM se poistaa tiedostoja pysyvästi OneLakesta, käytä sitä varovasti, kun tarvitset vielä vanhempia taulukkoversioita.
Miksi VACUUM on tärkeää
Juokse VACUUM kun haluat:
- Vähennä tallennuskustannuksia poistamalla vanhentuneita tiedostoja OneLakesta
- Tilaa otetaan takaisin päivitysten, poistojen ja yhdistämistoimintojen jälkeen
- Siivoa esitiivistetyt tiedostot korvaavien tiedostojen luomisen
OPTIMIZEjälkeen - Pidä pitkäaikaiset tuotantotaulukot estämään tarpeettomia vanhentuneita tietotiedostoja
VACUUM Ei paranna kyselyjen suorituskykyä itsessään samalla tavalla kuin tiivistäminen tai tiedostoasettelun optimoinnit. Sen päätarkoitus on varastojen siivous.
Missä käyttää VACUMia
VACUUM on Spark-komento Fabric. Aja sitä paikoissa, joissa käytetään Spark-moottoria, kuten:
- Kangasmuistikirjat
- Spark-työn määritykset
- Lakehouse Maintenance UI ja putkistopohjaiset huoltoprosessit
Älä aja VACUUM SQL-analytiikan päätepisteessä tai varaston SQL-editorissa. Nämä kokemukset eivät tue Spark Deltan huoltokomentoja.
Jos haluat portaalipohjaisen työnkulun, katso Lakehouse-taulun ylläpito.
Muistio
Muistikirjoissa suorita SQL-esimerkit Spark SQL -solussa, Python-esimerkit PySpark-solussa ja Scala-esimerkit Scala-solussa.
Syntaksiesimerkkejä
Käytä seuraavia esimerkkejä, kun ajat VACUUM Fabric:ssa.
Tyhjiö taulukko, jonka oletussäilytys on
Tyhjiö pöytä, jossa on mukautettu säilytyskynnys
Esikatselutiedostot DRY RUN -toiminnolla
Käytä DRY RUN tiedostojen listaamiseen, jotka poistettaisiin ilman, että niitä oikeasti poistetaan.
VACUUM schema_name.table_name DRY RUN
Voit myös yhdistää RETAIN ja DRY RUN.
VACUUM schema_name.table_name RETAIN 168 HOURS DRY RUN
Tyhjiö LITE-tilassa
VACUUM LITE on nopeampi vaihtoehto, joka käyttää vain Delta-transaktiolokia viitamattomien tiedostojen tunnistamiseen sen sijaan, että kaikki tiedostot listattaisiin taulukkohakemistossa. Tämä lähestymistapa on huomattavasti nopeampi suurille taulukoille, joissa on paljon tiedostoja.
VACUUM schema_name.table_name LITE
VACUUM schema_name.table_name LITE RETAIN 168 HOURS
VACUUM LITE tunnistaa poistettavat tiedostot lukemalla Delta-lokin täydellisen hakemistoluettelon sijaan. Se on nopeampi, mutta vaatii riittävästi lokihistoriaa, jotta voidaan selvittää, mitkä tiedostot eivät ole viitattuja. Jos Delta-lokia on karsittu yli tilan LITE tarpeen, DELTA_CANNOT_VACUUM_LITE poikkeus nostetaan — tällöin palataan standardiin VACUUM (täysi tila).
Muistio
VACUUM LITE on tuettu Fabric Spark Runtime 2.0:ssa (Delta 4.1) tai uudemmassa versiossa. Varmista, että Fabric-ajonaikainen versiosi tukee tätä ominaisuutta.
Tyhjiö inventaariotaulukolla
Erittäin suurissa taulukoissa, joissa jopa oletustäydellinen VACUUM hakemistoluettelo on hidas, voit tarjota esilasketun tiedostoinventaarion. Sen sijaan, että listattaisiin taulukkohakemisto ajonaikaisesti, VACUUM se lukee tiedostopolut toimittamastasi inventaariosta.
VACUUM schema_name.table_name USING INVENTORY inventory_table_name
VACUUM schema_name.table_name USING INVENTORY (SELECT * FROM inventory_table_name WHERE path LIKE 'abfss://%')
Varastotaulukossa (tai kyselyssä) tulee olla seuraava skeema:
| Column | Tyyppi | Description |
|---|---|---|
path |
merkkijono | Täysin pätevä URI. |
length |
kokonaisluku | Tiedostokoko tavuina. |
isDir |
totuusarvo | Onko merkintä hakemisto. |
modificationTime |
kokonaisluku | Tiedoston viimeinen muokattu aika millisekunneina epochin jälkeen. |
Voit täyttää varastotaulun OneLake-tiedoston metatiedoista, tallennustilin varastoraporteista tai mukautetusta Spark-työstä, joka listaa taulukon hakemiston aikataulussa. Tämä irrottaa kalliin tiedostolistausvaiheen itse VACUUM toiminnasta.
Oletuspidätysaika
Jos et määrittele säilytysaikaa, VACUUM käytä oletusaikaa seitsemän päivää, eli 168 tunteja.
Tämä oletus antaa aktiivisille lukijoille, kirjoittajille ja aikamatkailukyselyille turvallisemman ikkunan ennen vanhempien tiedostojen poistamista.
Turvallisuustarkistus lyhyiden säilytysaikojen vuoksi
Delta Lake sisältää säilytysturvallisuustarkastuksen, jota valvoo spark.databricks.delta.retentionDurationCheck.enabled.
Jos yrität käyttää pidätysaikaa alle seitsemän päivää, tämä turvatarkastus varoittaa, ellei tarkistusta ole erikseen poistettu käytöstä Spark-konfiguraatiossasi.
Ole erityisen varovainen ennen kuin poistat tämän suojan käytöstä. Lyhyt säilytysikkuna voi poistaa tiedostoja, joita samanaikaiset työkuormat tai palautusskenaariot vielä tarvitsevat.
Esimerkiksi nämä komennot pyytävät yhden päivän säilytysaikaa:
Jos ympäristösi pitää turvallisuustarkistuksen päällä, ajonaika varoittaa säilytysasetuksista alle seitsemän päivän.
Ymmärrä vaikutus aikamatkailuun
Delta Lake -aikamatkailu antaa mahdollisuuden kysyä vanhempia taulukkoversioita, kunhan vaaditut historialliset tiedostot ovat vielä olemassa.
VACUUM poistaa tiedostot, jotka ovat vanhempia kuin säilytysikkuna, joten se poistaa myös datatiedostot, joita tarvitaan aikamatkailuun kyseisen ikkunan jälkeen. Kun tiedostot on imuroitu, vanhempia versioita ei enää voi kysellä.
Ennen kuin vähennät säilytystä, mieti, kuinka paljon historiallista pääsyä työkuormasi, auditointisi, virheenkorjausvaiheesi ja palautusprosessisi vaativat. Lisätietoja löytyy kohdasta Aikamatkailu.
Ymmärrä vaikutus deleetiovektoreihin
Poistovektorit voivat merkitä rivit poistetuiksi ilman, että jokainen asiaan vaikuttanut tiedosto kirjoitetaan välittömästi uudelleen. Tämän vuoksi vanhoilta näyttävät tiedostot saattavat silti olla osa aktiivista taulukkotilaa.
VACUUM ei poista tiedostoja, joita viitataan, mukaan lukien tiedostot, jotka pysyvät voimassa, koska poistovektorimetadata viittaa niihin. Jos käytät poistovektoreita ja myöhemmin järjestät tai optimoit taulukon, vanhentuneemmat tiedostot saattavat tulla kelpoisiksi VACUUM muutosten jälkeen.
Poistamisvektoreiden vaikutuksesta vaikuttavan datan fyysisesti uudelleenkirjoittamiseen katso REORG Delta -taulukot.
Parhaiden käytäntöjen noudattaminen
Käytä näitä käytäntöjä ajaessasi VACUUM Fabric:
- Suorita
VACUUMjälkiOPTIMIZEpoistaaksesi esipakkaustiedostot, joita ei enää tarvita. - Älä aseta pysyvyysaikaa alle seitsemän päivän, ellei sinulla ole selkeää selvästi selvää vaikutusta aikamatkailuun, lukijoihin, kirjoittajiin ja toipumiseen.
- Aikatauluta säännölliset
VACUUMtoiminnot tuotantoputkissa, jotta vanhentuneet tiedostot eivät kerry OneLakeen. - Päätä aikamatkustusvaatimuksesi ennen kuin lyhennät pysyvyyksiä.
- Käytä sitä
DRY RUNensin, kun haluat varmistaa, mitkä tiedostot ovat poistettavana.
Koko Fabric kattavaa huolto-ohjeistusta löytyy Table maintenance overview ja Lakehouse table maintenance.
Ymmärrä, mitä VACUUM ei poista
VACUUM poistaa vanhentuneet tietotiedostot, mutta ei poista Delta-lokitiedostoja kansiosta _delta_log .
Delta-lokin puhdistus noudattaa tarkistuspiste- ja lokin säilytyskäyttäytymistä, joka on erillinen .VACUUM