VACUUM

Van toepassing op:check marked yes Databricks SQL check marked yes Databricks Runtime

Verwijder ongebruikte bestanden uit een tabelmap.

Notitie

Deze opdracht werkt anders, afhankelijk van of u aan een Delta- of Apache Spark-tabel werkt.

Een Delta-tabel opschonen (vacuum)

Recursief vacuümmappen die zijn gekoppeld aan de Delta-tabel. Zie Ongebruikte gegevensbestanden verwijderen met vacuüm voor volledige details en beperkingen.

VACUUM verwijdert alle bestanden uit de tabelmap die niet worden beheerd door Delta, evenals gegevensbestanden die niet langer de meest recente status van het transactielogboek voor de tabel hebben en ouder zijn dan een retentiedrempel. VACUUM slaat alle mappen over die beginnen met een onderstrepingsteken (_), inclusief de _delta_log. Het partitioneren van uw tabel op een kolom die begint met een onderstrepingsteken is een uitzondering op deze regel; VACUUM scant alle geldige partities die zijn opgenomen in de delta-doeltabel. Delta-tabelgegevensbestanden worden verwijderd op basis van de tijd dat ze logisch zijn verwijderd uit het transactielogboek van Delta plus retentieuren, niet de wijzigingstijdstempels op het opslagsysteem. De standaarddrempelwaarde is 7.

In Delta-tabellen worden bewerkingen door Azure Databricks niet automatisch geactiveerd VACUUM .

Als u op een Delta-tabel uitvoert VACUUM , verliest u de mogelijkheid om terug te reizen naar een versie die ouder is dan de opgegeven gegevensretentieperiode.

Waarschuwing

Het is raadzaam om een bewaarinterval in te stellen op ten minste 7 dagen, omdat oude momentopnamen en niet-verzonden bestanden nog steeds in gebruik kunnen zijn door gelijktijdige lezers of schrijvers aan de tabel. Als VACUUM actieve bestanden worden opgeschoond, kunnen gelijktijdige lezers mislukken of slechter, kunnen tabellen beschadigd raken wanneer VACUUM bestanden worden verwijderd die nog niet zijn doorgevoerd. U moet een interval kiezen die langer is dan de langst durende gelijktijdige transactie en de langste periode dat een stream achter kan blijven bij de meest recente update van de tabel.

Delta Lake heeft een veiligheidscontrole om te voorkomen dat u een gevaarlijke VACUUM opdracht uitvoert. In Databricks Runtime weet u zeker dat er geen bewerkingen worden uitgevoerd in deze tabel die langer duren dan het retentieinterval dat u wilt opgeven. U kunt deze veiligheidscontrole uitschakelen door de Spark-configuratie-eigenschap spark.databricks.delta.retentionDurationCheck.enabled in te falsestellen op .

VACUUM table_name [RETAIN num HOURS] [DRY RUN]

Parameters

  • Table_name

    Identificeert een bestaande Delta-tabel. De naam mag geen tijdelijke specificatie bevatten.

  • AANTAL UREN BEHOUDEN

    De drempelwaarde voor retentie.

  • DROOGLOOP

    Retourneert een lijst met maximaal 1000 bestanden die moeten worden verwijderd.

Een niet-Delta-tabel leegmaken

Recursief vacuümt mappen die zijn gekoppeld aan de niet-Delta-tabel en verwijdert niet-doorgevoerde bestanden ouder dan een retentiedrempel. De standaarddrempelwaarde is 7.

In niet-Delta-tabellen activeert Azure Databricks automatisch bewerkingen VACUUM wanneer gegevens worden geschreven.

Syntaxis

VACUUM table_name [RETAIN num HOURS]

Parameters

  • Table_name

    Identificeert een bestaande tabel op naam of pad.

  • AANTAL UREN BEHOUDEN

    De drempelwaarde voor retentie.