Pular para o conteúdo principal

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