Delen via


REORG TABLE

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 11.3 LTS en hoger

U kunt een Delta Lake-tabel opnieuw ordenen door bestanden te herschrijven om voorlopig verwijderde gegevens te verwijderen, zoals de kolomgegevens die zijn verwijderd door ALTER TABLE DROP COLUMNof door Delta Lake-controlepunten uit te voeren om het metagegevensbeheer te verbeteren.

Syntaxis

REORG [ TABLE ] table_name { [ WHERE predicate ] APPLY ( PURGE ) |
                             APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) |
                                     CHECKPOINT ) }

Voor Databricks Runtime-versies vóór 15.4 TABLE is een verplicht trefwoord.

Notitie

  • APPLY (PURGE) herschrijft alleen bestanden die zachte verwijderde gegevens bevatten.
  • APPLY (UPGRADE) kan alle bestanden herschrijven.
  • REORG TABLE is idempotent, wat betekent dat als deze twee keer op dezelfde gegevensset wordt uitgevoerd, de tweede uitvoering geen effect heeft.
  • Nadat APPLY (PURGE) is uitgevoerd, kunnen de zacht verwijderde gegevens nog steeds aanwezig zijn in de oude bestanden. U kunt VACUUM uitvoeren om de oude bestanden fysiek te verwijderen.
  • APPLY (CHECKPOINT) vereist dat de tabel de V2-controlepunttabelfunctie heeft ingeschakeld om beschadiging te voorkomen die wordt veroorzaakt door racevoorwaarden.

Parameterwaarden

  • table_name

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

  • WHERE predikaat

    Voor APPLY (PURGE)het opnieuw ordenen van de bestanden die overeenkomen met het opgegeven partitiepredicaat. Alleen filters met betrekking tot partitiesleutelkenmerken worden ondersteund.

  • APPLY (PURGE)

    Hiermee geeft u op dat het doel van het herschrijven van bestanden is het opschonen van voorlopig verwijderde gegevens. Zie Alleen verwijderen van metagegevens opschonen om het herschrijven van gegevens af te dwingen.

  • APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))

    Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 14.3 en hoger

    Hiermee geeft u op dat het doel van het herschrijven van bestanden is om de tabel bij te werken naar de opgegeven Apache Iceberg-versie. version moet of 1 of 2 zijn.

  • APPLY (CHECKPOINT)

    Van toepassing op:controleren gemarkeerd als Ja Databricks Runtime 16.3 en hoger

    Voert Delta-controlepunten uit op de nieuwste Delta-versie van de tabel.

Voorbeelden

> REORG TABLE events APPLY (PURGE);

> REORG TABLE events WHERE date >= '2022-01-01' APPLY (PURGE);

> REORG TABLE events
    WHERE date >= current_timestamp() - INTERVAL '1' DAY
    APPLY (PURGE);

> REORG TABLE events APPLY (UPGRADE UNIFORM(ICEBERG_COMPAT_VERSION=2));

> REORG TABLE events APPLY (CHECKPOINT);