Pular para o conteúdo principal

Gerenciar atualizações para pipelines contínuos

Um pipeline contínuo é executado sem parar, portanto, o Databricks não pode esperar que ele termine antes de aplicar atualizações de plataforma, como novas versões de runtime ou manutenção de infraestrutura. Para aplicar essas atualizações, o Databricks reinicia o pipeline. Uma maintenance window permite controlar quando essas reinicializações ocorrem: você seleciona um dia da semana, uma hora de início e um fuso horário, e o Databricks inicia a manutenção somente dentro dessa janela.

A janela de manutenção é uma configuração no job contínuo que executa o pipeline. Se você não definir uma, a manutenção poderá ser executada a qualquer momento.

Como o Databricks aplica atualizações

Para atualizar um pipeline contínuo, o Databricks inicia uma nova atualização de pipeline em um cluster novo e desliga o anterior. Como os pipelines contínuos acompanham seu progresso em um ponto de verificação de transmissão, a nova atualização é retomada de onde a anterior parou. O processamento de dados faz uma breve pausa durante o swap e, em seguida, continua sem perda de dados.

O Databricks inicia a manutenção somente dentro de uma janela de uma hora que começa na hora de início do dia selecionado. A reinicialização em si costuma ser curta.

Selecione um dia e um horário de início em que uma breve reinicialização seja aceitável para sua carga de trabalho.

Quais atualizações estão incluídas?

A manutenção de um pipeline contínuo pode incluir:

  • Atualizações de versão do Databricks Runtime
  • Atualizações e patches de segurança
  • Atualizações do sistema operacional
  • Recursos e aprimoramentos do Spark Declarative Pipelines no Lakeflow
  • Manutenção de infraestrutura serverless, como a reciclagem periódica de clusters serverless de longa execução

Tanto as atualizações de runtime ( atualizações de serviço ) quanto a manutenção da infraestrutura serverless respeitam a janela de manutenção configurada.

importante

Os clusters Serverless têm uma vida útil máxima. Se esse limite for atingido antes da sua próxima janela de manutenção, a Databricks reiniciará o pipeline para permanecer dentro do limite, mesmo que o horário atual esteja fora da sua janela. Isso garante que um pipeline de execução longa seja reciclado eventualmente.

Com que frequência as atualizações são aplicadas?

O Databricks aplica uma atualização somente quando a manutenção é necessária. Novas versões de runtime são lançadas periodicamente, e a manutenção da infraestrutura serverless ocorre em uma cadência recorrente. A frequência com que um pipeline individual é reiniciado depende de:

  • A cadência de novas versões do Databricks Runtime aplicáveis ao seu pipeline
  • Para pipelines serverless, o schedule de reciclagem do cluster serverless
  • Com que frequência sua janela de manutenção ocorre

Quando sua janela de manutenção chegar e não houver nenhuma atualização pendente, a janela passará sem reinicialização.

Configurar uma janela de manutenção

Você pode definir uma janela de manutenção na interface do usuário do Databricks ou com a API REST do Jobs.

Uma janela de manutenção tem três partes obrigatórias:

Contexto

Descrição

Dia da semana

Um único dia, de segunda-feira a domingo.

Hora de começar

A hora em que a janela começa, como um número inteiro de 0 a 23, no formato de 24 horas.

timeZone

Um fuso horário Java, como America/New_York. O Databricks avalia a janela neste fuso horário.

Contexto

Descrição

Dia da semana

Um único dia, de segunda-feira a domingo.

Hora de começar

A hora em que a janela começa, como um número inteiro de 0 a 23, no formato de 24 horas.

timeZone

Um fuso horário Java, como America/New_York. O Databricks avalia a janela neste fuso horário.

nota

As janelas de manutenção se aplicam apenas a jobs e pipelines contínuos. A configuração não está disponível para jobs que executam em uma programação ou em um tipo de trigger diferente.

Configure uma janela de manutenção na IU

Você pode configurar uma janela de manutenção na IU de Jobs ou na IU de Pipelines.

Na interface do usuário de Jobs

  1. Na barra lateral do workspace do Databricks, clique em Ícone de Fluxos de trabalho. Jobs & Pipelines .
  2. Clique no nome do job.
  3. No painel Job details , abra o Trigger Continuous e expanda Advanced para encontrar Maintenance window .
  4. Selecione um dia da semana, uma hora inicial e um fuso horário.
  5. Clique em Salvar .

Na interface do usuário do Pipelines

  1. Na barra lateral do workspace do Databricks, clique em Ícone de Fluxos de trabalho. Jobs & Pipelines .
  2. Clique no nome do pipeline.
  3. Abra Schedule e expanda Advanced settings para encontrar Maintenance window .
  4. Selecione um dia da semana, uma hora inicial e um fuso horário.
  5. Clique em Salvar .

Configure uma janela de manutenção com a API de jobs

Defina o campo maintenance_window dentro das configurações de continuous ao criar ou atualizar um job com a API REST de jobs. O exemplo a seguir configura a manutenção para iniciar às 2h, horário do Leste, às terças-feiras:

JSON
{
"continuous": {
"pause_status": "UNPAUSED",
"maintenance_window": {
"start_hour": 2,
"day_of_week": "TUESDAY",
"timezone_id": "America/New_York"
}
}
}

Todos os três campos (start_hour, day_of_week e timezone_id) são obrigatórios ao definir uma janela de manutenção. start_hour deve ser um número inteiro de 0 a 23.

Configurar notificações de manutenção

A Databricks pode notificá-lo quando uma reinicialização de manutenção começar e quando terminar. As notificações de manutenção usam o sistema de notificação padrão do Lakeflow Jobs, para que você possa enviá-las para endereços de email ou para destinos de sistema, como Slack, PagerDuty ou Microsoft Teams. Consulte Adicionar notificações em um job.

Dois eventos estão disponíveis em um Job contínuo:

  • Maintenance start : enviada quando uma reinicialização de manutenção começa. Inclui o job, a causa (por exemplo, uma atualização de serviço) e o horário de início.
  • Maintenance complete : enviada quando a reinicialização é concluída. Inclui a causa, o horário de conclusão, a duração da reinicialização e o status do pipeline após a reinicialização.

Transições de horário de verão

O Databricks avalia a janela de manutenção no fuso horário que você configurar, de modo que a janela siga as transições de horário de verão desse fuso. Na maioria dos dias, a janela começa na sua hora local configurada. No dia da mudança dos relógios, o início pode variar em até uma hora. Selecione um fuso horário que corresponda à sua programação operacional.

Lidar com interrupções durante as atualizações

Uma reinicialização de manutenção pausa o processamento de dados enquanto a nova atualização assume o controle. As fontes de transmissão continuam acumulando dados durante a pausa, e a nova atualização é retomada a partir do ponto de verificação do pipeline, portanto nenhum dado é perdido.

Se o seu pipeline tiver requisitos rigorosos de latência, selecione uma janela de manutenção durante um período em que uma breve pausa seja aceitável. Para confirmar que o pipeline retornou a um estado saudável após uma reinicialização, monitore a notificação de Manutenção concluída .