Zarządzanie aktualizacjami dla ciągłych potoków

Ciągły pipeline działa bez przerw, więc Azure Databricks nie może czekać na jego zakończenie, zanim zastosuje aktualizacje platformy, takie jak nowe wersje runtime czy utrzymanie infrastruktury. Aby zastosować te aktualizacje, Azure Databricks restartuje pipeline. Okno konserwacji pozwala kontrolować, kiedy następują te restarty: wybierasz dzień tygodnia, godzinę rozpoczęcia i strefę czasową, a Azure Databricks rozpoczyna konserwację tylko w tym oknie.

Okno konserwacji jest ustawieniem zadania ciągłego, które uruchamia potok. Jeśli tego nie ustawisz, prace konserwacyjne mogą być wykonywane w każdej chwili.

Jak Azure Databricks stosuje aktualizacje

Aby zaktualizować potok ciągły, usługa Azure Databricks uruchamia nową aktualizację potoku na nowym klastrze i wyłącza poprzedni. Ponieważ potoki ciągłe śledzą swój postęp w strumieniowym punkcie kontrolnym, nowa aktualizacja jest wznawiana od miejsca, w którym zakończyła się poprzednia. Przetwarzanie danych na chwilę się zatrzymuje podczas zamiany, po czym kontynuuje bez utraty danych.

Azure Databricks rozpoczyna konserwację dopiero w godzinnym oknie, które zaczyna się od godziny startowej w wybranym przez Ciebie dniu. Sam restart jest zazwyczaj krótki.

Wybierz dzień i godzinę rozpoczęcia, kiedy krótkie restartowanie jest odpowiednie dla Twojego obciążenia.

Jakie aktualizacje są uwzględniane?

Konserwacja ciągłego rurociągu może obejmować:

  • Aktualizacje wersji Databricks Runtime
  • Poprawki zabezpieczeń i aktualizacje
  • Aktualizacje systemu operacyjnego
  • Funkcje i udoskonalenia narzędzia Spark Declarative Pipelines w Lakeflow
  • Utrzymanie infrastruktury bezserwerowej, takie jak okresowe odświeżanie długotrwale działających klastrów bezserwerowych

Zarówno aktualizacje środowiska uruchomieniowego (aktualizacje usług), jak i konserwacja infrastruktury bezserwerowej uwzględniają skonfigurowane okno konserwacji.

Important

Klastry bezserwerowe mają maksymalny okres istnienia. Jeśli limit ten zostanie osiągnięty przed kolejnym oknem konserwacji, Azure Databricks restartuje pipeline, aby pozostać w granicach limitu, nawet jeśli aktualny czas jest poza Twoim oknem. Zapewnia to, że długo działający pipeline ostatecznie zostanie poddany recyklingowi.

Jak często są stosowane aktualizacje?

Azure Databricks stosuje aktualizację tylko wtedy, gdy potrzebna jest konserwacja. Nowe wersje środowiska uruchomieniowego są publikowane okresowo, a utrzymanie infrastruktury bezserwerowej jest prowadzone cyklicznie. Częstotliwość restartu pojedynczego potoku zależy od:

  • Rytm nowych wydań Databricks Runtime, które dotyczą Twojego pipeline'u
  • Dla potoków bezserwerowych harmonogram ponownego tworzenia klastra bezserwerowego
  • Jak często występuje okno konserwacyjne

Gdy nadchodzi okno konserwacji i nie ma żadnej aktualizacji, okno mija bez restartu.

Konfiguruj okno konserwacji

Możesz ustawić okno konserwacji w interfejsie Azure Databricks, za pomocą Jobs REST API lub za pomocą Declarative Automation Bundles.

Okno serwisowe obejmuje trzy wymagane elementy:

Setting Opis
Dzień tygodnia Jeden dzień, od poniedziałku do niedzieli.
Godzina rozpoczęcia Godzina, w której zaczyna się okno, jako liczba całkowita od 0 do 23, w czasie 24-godzinnym.
Strefa czasowa ID strefy czasowej Java, taki jak America/New_York. Azure Databricks ewaluuje okno w tej strefie czasowej.

Note

Okna utrzymania dotyczą tylko ciągłych zadań i potoków. To ustawienie nie jest dostępne dla zadań uruchamianych według harmonogramu lub innego typu wyzwalacza.

Konfiguruj okno konserwacji w interfejsie

Możesz skonfigurować okno utrzymania zarówno z interfejsu Jobs, jak i z interfejsu Pipelines.

Z interfejsu Jobs

  1. W pasku bocznym przestrzeni roboczej Azure Databricks kliknij ikonę Workflows.Zadania i Potoki.
  2. Kliknij nazwę stanowiska.
  3. W panelu Szczegóły zadania otwórz wyzwalacz Ciągły i rozwiń Zaawansowane, aby znaleźć opcję Okno konserwacji.
  4. Wybierz dzień tygodnia, godzinę rozpoczęcia oraz strefę czasową.
  5. Kliknij Zapisz.

Z interfejsu Pipelines

  1. W pasku bocznym przestrzeni roboczej Azure Databricks kliknij ikonę Workflows.Zadania i Potoki.
  2. Kliknij nazwę rurociągu.
  3. Otwórz Harmonogram i rozwiń Ustawienia zaawansowane, aby znaleźć okno konserwacji.
  4. Wybierz dzień tygodnia, godzinę rozpoczęcia oraz strefę czasową.
  5. Kliknij Zapisz.

Konfiguruj okno utrzymania za pomocą Jobs API

Ustaw maintenance_window pole w ustawieniachcontinuous, gdy tworzysz lub aktualizujesz zadanie za pomocą Jobs REST API. Poniższy przykład konfiguruje rozpoczęcie konserwacji na wtorki o 2:00 czasu wschodniego:

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

Wszystkie trzy pola (start_hour, day_of_week, i timezone_id) są wymagane przy ustawianiu okna konserwacji. start_hourmusi być liczbą całkowitą z 0 do .23

Konfiguruj okno utrzymania za pomocą Deklaratywnych Pakietów Automatyzacji

Ustaw mapowanie maintenance_window wewnątrz mapowania continuous zadania. Mapowanie maintenance_window wymaga CLI Databricks w wersji 1.16.0 lub nowej. Aby walidacja zawiodła w starszych wersjach, ustaw bundle.databricks_cli_version na '>= 1.16.0'. Poniższy przykład konfiguruje rozpoczęcie konserwacji na wtorki o 2:00 czasu wschodniego:

bundle:
  name: continuous_pipeline_bundle
  databricks_cli_version: '>= 1.16.0'

resources:
  jobs:
    continuous_pipeline_job:
      name: continuous_pipeline_job
      continuous:
        pause_status: UNPAUSED
        maintenance_window:
          start_hour: 2
          day_of_week: TUESDAY
          timezone_id: America/New_York
      tasks:
        - task_key: refresh_pipeline
          pipeline_task:
            pipeline_id: ${resources.pipelines.example_pipeline.id}

Konfiguruj powiadomienia konserwacyjne

Azure Databricks może powiadomić Cię, kiedy restart konserwacji się rozpocznie i gdy się zakończy. Powiadomienia o konserwacji korzystają ze standardowego systemu powiadomień Lakeflow Jobs, dzięki czemu możesz je dostarczać na adresy e-mail lub do miejsc docelowych systemu, takich jak Slack, PagerDuty czy Microsoft Teams. Zobacz Dodawanie powiadomień dotyczących zadania.

W zadaniu ciągłym dostępne są dwa zdarzenia:

  • Rozpoczęcie konserwacji: wysyłane po rozpoczęciu restartu konserwacji. Zawiera zadanie, przyczynę (na przykład aktualizację usługi) oraz godzinę rozpoczęcia.
  • Konserwacja zakończona: wysyłana po zakończeniu restartu. Zawiera przyczynę, czas zakończenia, czas trwania restartu oraz status potoku po restarcie.

Przejścia na czas letni

Azure Databricks wyznacza okno konserwacji w skonfigurowanej strefie czasowej, dzięki czemu dostosowuje się ono do zmian czasu letniego i zimowego w tej strefie. W większości dni okno zaczyna się od ustawionej lokalnej godziny. W dniu zmiany zegarów start może przesunąć się nawet o godzinę. Wybierz strefę czasową dopasowaną do Twojego harmonogramu pracy.

Radzenie sobie z zakłóceniami podczas aktualizacji

Restart konserwacji zatrzymuje przetwarzanie danych, podczas gdy nowa aktualizacja przejmuje kontrolę. Źródła streamingowe gromadzą dane podczas pauzy, a nowa aktualizacja wznawia się od punktu kontrolnego pipeline, więc żadne dane nie są tracone.

Jeśli Twój pipeline ma ścisłe wymagania dotyczące opóźnień, wybierz okno utrzymania w okresie, gdy krótka przerwa jest akceptowalna. Aby potwierdzić, że potok po ponownym uruchomieniu wrócił do prawidłowego stanu, obserwuj powiadomienie Konserwacja zakończona.