Pular para o conteúdo principal

refresh completamente as tabelas de destino

Aplica-se a : Sim, marcado como certo Conectores SaaS Sim, marcado como certo Conectores de banco de dados

A atualização completa do pipeline de ingestão limpa os dados e o estado das tabelas de destino e, em seguida, reprocessa todos os registros da fonte de dados. Você pode refresh completamente todas as tabelas no pipeline ou selecionar as tabelas que deseja refresh.

importante

A atualização do pipeline de ingestão pode falhar durante a fase Initializing ou Resetting tables . LakeFlow Connect tenta novamente o pipeline automaticamente várias vezes. Se você interromper as tentativas automáticas ou se elas eventualmente falharem de forma irreversível, inicie uma nova atualização pipeline manualmente, usando a mesma seleção de refresh da tabela de antes. Caso contrário, as tabelas de destino podem acabar em um estado inconsistente, com dados parciais. Se as tentativas manuais também falharem, crie um ticket de suporte.

Comportamento refresh completa (CDC)

Aplica-se a : Sim, marcado como certo Conectores de banco de dados

Ao acionar uma refresh completa de uma tabela, Databricks otimiza o processo para reduzir o tempo de inatividade e manter a disponibilidade dos dados:

  1. SolicitaçãoSnapshot : Quando você solicita uma refresh completa, o gateway de ingestão começa imediatamente a criar um novo instantâneo da tabela de origem. A tabela de transmissão de destino é excluída da seleção refresh até que o Snapshot seja concluído.
  2. Disponibilidade contínua : Durante o processo de Snapshot, a tabela de transmissão de destino mantém seus dados existentes e permanece disponível para consultas. Nenhuma atualização, acréscimo ou exclusão é aplicada à tabela enquanto o Snapshot estiver em andamento.
  3. refreshatômica : Após a conclusão do Snapshot, Databricks realiza automaticamente a refresh completa em uma única operação. Esta atualização aplica todos os dados do Snapshot e quaisquer registros CDC acumulados desde que o Snapshot foi solicitado.

Por exemplo, se sua tabela tiver 50 registros ao final da atualização 15 e você solicitar uma refresh completa na atualização 16:

  1. O gateway de ingestão começa a criar um Snapshot durante a atualização 16.
  2. A tabela continua mostrando os 50 registros originais até que o Snapshot seja concluído.
  3. Quando o Snapshot for concluído (na atualização 16 ou posterior, dependendo do tamanho da tabela de origem), a refresh completa será aplicada automaticamente em uma única operação atômica.

Essa abordagem reduz significativamente o tempo de inatividade durante operações refresh completa e ajuda a evitar erros PENDING_RESET e de tempo limite excedido.

Configure o comportamento refresh completa para conectores de banco de dados.

Aplica-se a: Sim, marcado como certo Conectores de banco de dados Sim, marcado como certo Criação pipeline baseada em API

Aprenda como configurar o comportamento refresh completa para gerenciar o pipeline de ingestão com conectores de banco de dados (como SQL Server) no LakeFlow Connect. Você pode programar quando ocorrerá refresh completa do Snapshot e habilitar refresh completa automática para se recuperar de alterações de esquema não suportadas.

refresh completa da janela

Uma janela refresh completa permite programar quando as operações de captura de instantâneo para refresh completa ocorrerão. Quando você solicita uma refresh completa ou quando o sistema aciona automaticamente uma refresh completa, o Snapshot começa no próximo horário disponível na janela configurada. A tabela a seguir mostra como o programador funciona:

Solicitar horário

Janela

Snapshot começar

Notas

Segunda-feira, 20 de outubro de 2025, 10:00:00 UTC

Hora de início: 20, Dias: terça-feira, Fuso horário: UTC

Terça-feira, 21 de outubro de 2025, 20:00:00 UTC

Snapshot adiada para o próximo dia disponível.

Segunda-feira, 20 de outubro de 2025, 09:30:00 UTC

Hora de início: 9, Dias: Segunda-feira, Fuso horário: UTC

Segunda-feira, 20 de outubro de 2025, 09:30:00 UTC

No mesmo dia, solicite um horário dentro da janela de horário.

Segunda-feira, 20 de outubro de 2025, 10:00:00 UTC

Hora de início: 9, Dias: Segunda-feira, Fuso horário: UTC

Segunda-feira, 27 de outubro de 2025, 09:00:00 UTC

O pedido foi feito após o prazo limite e será adiado para a próxima semana.

Parâmetros de configuração

Configure a janela refresh completa no ingestion_definition da sua especificação pipeline :

Parâmetro

Tipo

Descrição

Obrigatório

start_hour

Integer

A hora de início da janela (0-23) no dia de 24 horas.

Sim

days_of_week

matriz

Dias em que a janela está ativa. Valores válidos: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY. Caso não seja especificado, todos os dias serão utilizados.

Não

time_zone_id

String

ID do fuso horário da janela. Consulte a seção Definir o fuso horário da sessão para obter informações sobre os IDs de fuso horário compatíveis. Se não for especificado, o padrão é UTC.

Não

Exemplo: Configurar uma janela refresh completa

Os exemplos a seguir mostram como adicionar uma janela refresh completa à sua definição pipeline .

YAML
resources:
pipelines:
gateway:
name: <gateway-name>
gateway_definition:
connection_id: <connection-id>
gateway_storage_catalog: <destination-catalog>
gateway_storage_schema: <destination-schema>
gateway_storage_name: <destination-schema>
target: <destination-schema>
catalog: <destination-catalog>

pipeline_sqlserver:
name: <pipeline-name>
catalog: <destination-catalog>
schema: <destination-schema>
ingestion_definition:
ingestion_gateway_id: <gateway-id>
objects:
- table:
source_schema: <source-schema>
source_table: <source-table>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
full_refresh_window:
start_hour: 20
days_of_week:
- MONDAY
- TUESDAY
time_zone_id: 'America/Los_Angeles'

Política refresh automática completa

Para ajudar a manter a consistência dos dados sem intervenção manual, uma política refresh completa automática permite acionar automaticamente uma refresh completa quando o pipeline encontra operações DDL não suportadas:

  • Truncar tabela
  • Alterações de esquema incompatíveis (por exemplo, alterações de tipo de dados)
  • Renomear colunas
  • Adições de coluna com valores default

Sem refresh automática completa ativada, você deve acionar manualmente uma refresh completa quando essas operações ocorrerem.

Parâmetros de configuração

Configure refresh automática completa no nível pipeline ou no nível da tabela em sua especificação pipeline :

Parâmetro

Tipo

Descrição

Padrão

enabled

Booleana

Indica se refresh automática completa está ativada.

false

min_interval_hours

Integer

Intervalo mínimo de espera em horas entre atualizações completas. O sistema aguarda esse intervalo desde o último Snapshot antes de iniciar uma nova refresh automática completa.

24

Você pode configurar refresh automática completa em vários níveis:

  • Nível do pipeline: Em ingestion_definition.table_configuration.auto_full_refresh_policy
  • Nível da tabela: Em ingestion_definition.objects[].table.table_configuration.auto_full_refresh_policy

A configuração em nível de tabela substitui a configuração em nível de pipeline.

Exemplo: Configure refresh automática completa no nível pipeline .

Os exemplos a seguir mostram como habilitar refresh completa automática para todas as tabelas em um pipeline.

YAML
resources:
pipelines:
gateway:
name: <gateway-name>
gateway_definition:
connection_id: <connection-id>
gateway_storage_catalog: <destination-catalog>
gateway_storage_schema: <destination-schema>
gateway_storage_name: <destination-schema>
target: <destination-schema>
catalog: <destination-catalog>

pipeline_sqlserver:
name: <pipeline-name>
catalog: <destination-catalog>
schema: <destination-schema>
ingestion_definition:
ingestion_gateway_id: <gateway-id>
objects:
- table:
source_schema: <source-schema>
source_table: <source-table>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
table_configuration:
auto_full_refresh_policy:
enabled: true
min_interval_hours: 24

Exemplo: Configurar refresh automática completa por tabela

Os exemplos a seguir mostram como habilitar refresh completa automática no nível pipeline , mas desabilitá-la para tabelas específicas.

YAML
resources:
pipelines:
gateway:
name: <gateway-name>
gateway_definition:
connection_id: <connection-id>
gateway_storage_catalog: <destination-catalog>
gateway_storage_schema: <destination-schema>
gateway_storage_name: <destination-schema>
target: <destination-schema>
catalog: <destination-catalog>

pipeline_sqlserver:
name: <pipeline-name>
catalog: <destination-catalog>
schema: <destination-schema>
ingestion_definition:
ingestion_gateway_id: <gateway-id>
objects:
- table:
source_schema: <source-schema>
source_table: table_1
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
- table:
source_schema: <source-schema>
source_table: table_2
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
table_configuration:
auto_full_refresh_policy:
enabled: false
min_interval_hours: 24
table_configuration:
auto_full_refresh_policy:
enabled: true
min_interval_hours: 24

Neste exemplo, table_1 usa a política de nível de pipeline (ativada), enquanto table_2 a substitui com configuração de nível de tabela (desativada).