Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
Databricks SQL
Databricks Runtime
Détecte et répare les métadonnées et les problèmes de fichier de données pour une table Delta. La commande a trois niveaux progressifs :
- Réparer uniquement le journal des transactions
- Réparer le journal des transactions et supprimer les fichiers de données manquants
- Réparer le journal des transactions, supprimer les fichiers de données manquants et supprimer les fichiers de données endommagés
Chaque niveau inclut toutes les opérations des niveaux précédents.
Syntaxe
FSCK REPAIR TABLE table_name [fsck_mode] [DRY RUN]
fsck_mode
{ METADATA ONLY |
VERIFY ALL FILES |
VERIFY FILES MODIFIED BETWEEN start_timestamp AND end_timestamp }
Paramètres
-
Identifie une table Delta existante. Le nom ne doit pas inclure de spécification temporelle ou de spécification d’options.
fsck_modeS’applique à :
Databricks Runtime 18.0 et versions ultérieuresDéfinit les actions à entreprendre.
S’il n’est pas spécifié (mode par défaut) :
- Valide et répare le journal des transactions requis pour construire la dernière capture instantanée de la table.
- Supprime les références de la table aux fichiers de données qui n’existent plus dans le système de fichiers sous-jacent.
- Supprime les références de la table aux fichiers de données dont les valeurs de partition violent les
NOT NULLcontraintes.
METADATA ONLYValide et répare le journal des transactions requis pour construire la dernière capture instantanée de la table.
VERIFY ALL FILESEffectue toutes les opérations à partir du mode par défaut. Valide l’intégrité de tous les fichiers de données actifs. Supprime les références de la table aux fichiers qui échouent à la vérification de l’intégrité.
VERIFY FILES MODIFIED BETWEEN start_timestamp AND end_timestampEffectue toutes les opérations à partir du mode par défaut. Valide l’intégrité des fichiers de données actifs dont le temps de modification se situe dans la fenêtre de temps spécifiée. Supprime les références de la table aux fichiers qui échouent à la vérification de l’intégrité. Les deux
start_timestampetend_timestampdoivent être des expressions constantes qui évaluent les horodatages. Les expressions peuvent inclure les fonctionscurrent_timestamp()etcurrent_date().
TEST À BLANC
Remonte, sans apporter de modifications, les problèmes de métadonnées et de fichiers de données que
FSCK REPAIR TABLEréparerait.Par défaut,
DRY RUNrenvoie uniquement les 1 000 premiers fichiers. Vous pouvez augmenter ce seuil en définissant la variablespark.databricks.delta.fsck.maxNumEntriesInResultde session sur une valeur plus élevée avant d’exécuter la commande dans un notebook.
Remarques
FSCK répare uniquement le dernier snapshot de table. Les points de contrôle historiques et les fichiers inactifs ne sont pas validés ou réparés.
Lors de la vérification de l’existence du fichier en mode par défaut ou de la validation de l’intégrité des fichiers dans
VERIFYles modes,FSCKvalide également tous les vecteurs de suppression associés. Si le fichier de données Parquet ou son vecteur de suppression associé est manquant ou endommagé, les références sont supprimées de la table.
Retours
Lors de l’exécution avec DRY RUN, la commande retourne un DataFrame avec le schéma suivant :
dataFilePath STRING NOT NULLdataFileMissing BOOLEAN NOT NULLdeletionVectorPath STRINGdeletionVectorFileMissing BOOLEAN NOT NULL
S’applique à :
Databricks Runtime 18.0 et versions ultérieures
checkpointFilePath STRINGfileCrcCorrupt BOOLEAN NOT NULLfileUnreadable BOOLEAN NOT NULLfileMetadataHasInvalidPartitionValues BOOLEAN NOT NULLdeletionVectorCorrupt BOOLEAN NOT NULL
Exemples
— Assume 005.checkpoint.parquet has CRC checksum corruption.
> FSCK REPAIR TABLE t METADATA ONLY DRY RUN;
dataFilePath dataFileMissing deletionVectorPath deletionVectorFileMissing checkpointFilePath fileCrcCorrupt fileUnreadable fileMetadataHasInvalidPartitionValues deletionVectorCorrupt
------------ --------------- ------------------ ------------------------- --------------------------------- -------------- -------------- ------------------------------------- ---------------------
null false null false _delta_log/005.checkpoint.parquet true false false false
— Assume file1.parquet is missing, whose deletion vector dv1.bin is also missing.
— Assume file2.parquet has partition value being NULL, where the partition column is NOT NULL.
> FSCK REPAIR TABLE t DRY RUN;
dataFilePath dataFileMissing deletionVectorPath deletionVectorFileMissing checkpointFilePath fileCrcCorrupt fileUnreadable fileMetadataHasInvalidPartitionValues deletionVectorCorrupt
------------- --------------- ------------------ ------------------------- ------------------ -------------- -------------- ------------------------------------- ---------------------
file2.parquet true dv1.bin true null false false false false
file2.parquet false null false null null null true false
— Assume file1.parquet is corrupt and unreadable.
— Assume file2.parquet has a corrupt deletion vector dv2.bin.
> FSCK REPAIR TABLE t VERIFY ALL FILES DRY RUN;
dataFilePath dataFileMissing deletionVectorPath deletionVectorFileMissing checkpointFilePath fileCrcCorrupt fileUnreadable fileMetadataHasInvalidPartitionValues deletionVectorCorrupt
------------- --------------- ------------------ ------------------------- ------------------ -------------- -------------- ------------------------------------- ---------------------
file1.parquet false null false null false true false false
file2.parquet false dv2.bin false null null null false true