Partager via


REORG TABLE

S’applique à :coche marquée oui Databricks SQL coche marquée oui Databricks Runtime 11.3 LTS et versions ultérieures

Réorganisez une table Delta Lake en réécritant des fichiers pour vider les données supprimées de manière réversible, telles que les données de colonne supprimées par ALTER TABLE DROP COLUMN, ou en effectuant des points de contrôle Delta Lake pour améliorer la gestion des métadonnées.

Syntaxe

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

Pour les versions de Databricks Runtime antérieures à la version 15.4 TABLE est un mot clé obligatoire.

Remarque

  • APPLY (PURGE) réécrit uniquement les fichiers qui contiennent des données supprimées de manière réversible.
  • APPLY (UPGRADE) peut réécrire tous les fichiers.
  • REORG TABLE est idempotent, ce qui signifie que s’il exécuté deux fois sur le même jeu de données, la deuxième exécution n’aura aucun effet.
  • Après avoir exécuté APPLY (PURGE), les données supprimées de manière réversible peuvent toujours exister dans les anciens fichiers. Vous pouvez exécuter VACUUM pour supprimer physiquement les anciens fichiers.
  • APPLY (CHECKPOINT) nécessite que la table de point de contrôle V2 soit activée pour empêcher la corruption causée par des conditions de concurrence.

Paramètres

  • table_name

    Identifie une table Delta existante. Le nom ne doit pas inclure de spécification temporelle ou de spécification d’options.

  • WHERE prédicat

    Pour APPLY (PURGE), réorganise les fichiers qui correspondent au prédicat de partition donné. Seuls les filtres impliquant des attributs de clé de partition sont pris en charge.

  • APPLY (PURGE)

    Spécifie que l’objectif de la réécriture des fichiers est de vider les données supprimées de manière réversible. Consultez Supprimer uniquement les métadonnées pour forcer la réécriture des données.

  • APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))

    S’applique à :coche marquée oui Databricks SQL case marquée oui Databricks Runtime 14.3 et versions ultérieures

    Spécifie que l’objectif de la réécriture de fichier est de mettre à niveau la table vers la version d’Apache Iceberg donnée. version doit être 1 ou 2.

  • APPLY (CHECKPOINT)

    S’applique à :check marqué oui Databricks Runtime 16.3 et versions ultérieures

    Effectue un point de contrôle Delta sur la dernière version Delta de la table.

Exemples

> 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);