Compartilhar via


RESTORE

Aplica-se a: marca de seleção positiva SQL do Databricks verificação marcada como sim Runtime do Databricks

Restaura uma tabela Delta a um estado anterior. Há compatibilidade com a restauração para um número de versão anterior ou um carimbo de data/hora.

Esta página contém detalhes sobre como usar a sintaxe correta com o comando RESTORE. Consulte Trabalhar com o histórico de tabelas do Delta Lake para obter mais diretrizes sobre como navegar pelas versões de tabela do Delta Lake com esse comando.

Sintaxe

RESTORE [ TABLE ] table_name [ TO ] time_travel_version

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

Parâmetros

  • table_name

    Identifica a tabela Delta a ser restaurada. O nome da tabela não deve usar uma especificação temporal ou especificação de opções.

  • timestamp_expression pode ser qualquer uma das seguintes opções:

    • '2018-10-18T22:15:12.013Z', ou seja, uma cadeia de caracteres que pode ser convertida em um carimbo de data/hora
    • cast('2018-10-18 13:36:32 CEST' as timestamp)
    • '2018-10-18', ou seja, uma cadeia de caracteres de data
    • current_timestamp() - interval 12 hours
    • date_sub(current_date(), 1)
    • Qualquer outra expressão que seja ou possa ser convertida em um carimbo de data/hora
  • version é um valor longo que pode ser obtido da saída de DESCRIBE HISTORY table_spec.

timestamp_expression e version não podem ser subconsultas.

Exemplos

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