RESTORE

S’applique à : check marked yes Databricks SQL check marked yes Databricks Runtime 7.4 et versions ultérieures

Restaure une table Delta à un état antérieur. La restauration vers un numéro de version ou un timestamp antérieur est prise en charge.

Cette page contient des détails sur l’utilisation de la syntaxe correcte avec la commande RESTORE. Consultez Utiliser l’historique de la table Delta Lake pour obtenir des conseils supplémentaires sur la navigation dans les versions de table Delta Lake avec cette commande.

Syntaxe

RESTORE [ TABLE ] table_name [ TO ] time_travel_version

time_travel_version
 { TIMESTAMP AS OF timestamp_expression |
   VERSION AS OF version }

Paramètres

  • table_name

    Identifie la table Delta à restaurer. Le nom de la table ne doit pas utiliser une spécification temporelle.

  • timestamp_expression peut être n’importe quel :

    • '2018-10-18T22:15:12.013Z', autrement dit, une chaîne qui peut être convertie en horodateur
    • cast('2018-10-18 13:36:32 CEST' as timestamp)
    • '2018-10-18', autrement dit, une chaîne de date
    • current_timestamp() - interval 12 hours
    • date_sub(current_date(), 1)
    • Toute autre expression qui est ou qui peut être castée en un timestamp
  • version est une valeur de type long qui peut être obtenue à partir de la sortie de DESCRIBE HISTORY table_spec.

Ni timestamp_expression ni version ne peuvent être des sous-requêtes.

Exemples

-- Restore the employee table to a specific timestamp
> RESTORE TABLE employee TO TIMESTAMP AS OF '2022-08-02 00:00:00';
 table_size_after_restore num_of_files_after_restore num_removed_files num_restored_files removed_files_size restored_files_size
                      100                          3                 1                  0                574                   0

-- Restore the employee table to a specific version number retrieved from DESCRIBE HISTORY employee
> RESTORE TABLE employee TO VERSION AS OF 1;
 table_size_after_restore num_of_files_after_restore num_removed_files num_restored_files removed_files_size restored_files_size
                      100                          3                 1                  0                574                   0

-- Restore the employee table to the state it was in an hour ago
> RESTORE TABLE employee TO TIMESTAMP AS OF current_timestamp() - INTERVAL '1' HOUR;
 table_size_after_restore num_of_files_after_restore num_removed_files num_restored_files removed_files_size restored_files_size
                      100                          3                 1                  0                574                   0