FSCK REPAIR TABLE
Aplica-se a: SQL do Databricks
Runtime do Databricks
Remove as entradas de arquivo do log de transações de uma tabela do Delta que não é possível mais ser encontrada no sistema de arquivos subjacente. Isso pode acontecer quando esses arquivos são excluídos manualmente.
Sintaxe
FSCK REPAIR TABLE table_name [DRY RUN]
Parâmetros
-
Identifica uma tabela do Delta existente. O nome não deve incluir uma especificação temporal ou especificação de opções.
SIMULAÇÃO
Mostra informações sobre as entradas de arquivo que seriam removidas do log de transações de uma tabela Delta por
FSCK REPAIR TABLE
, porque elas não podem mais ser encontradas no sistema de arquivos subjacente. Isso pode acontecer quando esses arquivos são excluídos manualmente. As entradas de arquivo são um caminho de arquivo de dados ou uma combinação de um caminho de arquivo de dados e um caminho de arquivo de vetor de exclusão. As entradas de arquivo são incluídas na saída quando o arquivo de dados estiver ausente, quando o arquivo de vetor de exclusão estiver ausente ou quando ambos estiverem ausentes.Por padrão,
DRY RUN
retorna apenas os primeiros mil arquivos. Você pode aumentar esse limite definindo a variávelspark.databricks.delta.fsck.maxNumEntriesInResult
de SparkSession com um valor mais alto antes de executar o comando em um notebook.
Retorna
Para DRY RUN
Um relatório do formulário:
dataFilePath STRING NOT NULL
dataFileMissing BOOLEAN NOT NULL
deletionVectorPath STRING
deletionVectorFileMissing BOOLEAN NOT NULL
Exemplos
— Assume file1.parquet is missing and no DV is expected.
> FSCK REPAIR TABLE t DRY RUN;
dataFilePath dataFileMissing deletionVectorPath deletionVectorFileMissing
------------- --------------- ------------------ -------------------------
file1.parquet true null false
— Assume dv1.bin is missing.
> FSCK REPAIR TABLE t DRY RUN;
dataFilePath dataFileMissing deletionVectorPath deletionVectorFileMissing
------------- --------------- ------------------ -------------------------
file1.parquet false dv1.bin true