Skonfiguruj wersje środowiska dla potoków

Ważna

Wersje środowiskowe dla potoków Lakeflow są dostępne w podglądzie publicznym.

Wersja środowiska określa wersję języka Python oraz zestaw wstępnie zainstalowanych bibliotek języka Python dostępnych dla kodu Python w potoku. Wszelkie zależności zewnętrzne dodawane do potoku są nakładane na tę bazę.

Wersje środowiska uniezależniają środowisko uruchomieniowe Python używane przez potok od wersji Databricks Runtime, na której działa potok. Podczas ustawiania wersji środowiska uaktualnienia środowiska Databricks Runtime nie zmieniają wersji języka Python ani wstępnie zainstalowanych wersji bibliotek. Środowisko uruchomieniowe Python jest również zgodne z zadaniami bezserwerowymi i notatnikami korzystającymi z tej samej wersji środowiska. Aby znaleźć bieżącą wersję środowiska Databricks Runtime dla potoków Lakeflow, zapoznaj się z Informacjami o wersjach potoków Lakeflow i procesem aktualizacji wersji.

Databricks automatycznie migruje kwalifikujące się pipeline’y do wersji środowiska. Zobacz Automatyczna migracja.

Ważna

Potoki korzystające z wersji środowiska uruchamiają kod Python przez Spark Connect, co może zmienić działanie niektórych fragmentów kodu potoku. Pełną listę ograniczeń i zmian zachowań można znaleźć w artykule Kompatybilność wersji środowiska.

Requirements

Wersje środowiska mają następujące wymagania:

  • Potok przetwarzania musi korzystać z Unity Catalog. Potoki magazynu metadanych Hive nie są obsługiwane.

Obsługiwane wersje środowiska

Lakeflow pipelines obsługują wersje środowiska 3 i 4 zarówno w trybie bezserwerowym, jak i w klasycznych zasobach obliczeniowych. Aby zapoznać się z wersją języka Python i pełną listą wstępnie zainstalowanych bibliotek Python dostępnych w każdej wersji, zobacz dokumentację wersji environment.

Migracja automatyczna

Databricks automatycznie migruje potoki spełniające wymagania na określoną wersję środowiska. Migracja następuje przy kolejnej aktualizacji potoku, nie wymaga żadnych ręcznych kroków i zawiera następujące zabezpieczenia:

  • Zachowanie jest sprawdzane przed migracją. Databricks analizuje twój potok pod kątem wzorców w kodzie, które działałyby inaczej w środowisku Spark Connect, i porównuje plan wynikowy potoku przed migracją i po niej. Zobacz kompatybilność wersji środowiskowych.
  • Nieudana migracja automatycznie się cofa. Jeśli migrowana wersja z jakiegokolwiek powodu nie powiedzie się, zostanie zatrzymana przed zapisaniem jakichkolwiek danych, a potok automatycznie powróci do poprzedniego środowiska uruchomieniowego podczas następnej aktualizacji. Nie trzeba podejmować żadnych działań.
  • Twoje wyraźne ustawienia są zawsze respektowane. Jeśli ustawisz environment_version samodzielnie, Databricks nigdy go nie nadpisze.

Po pomyślnej migracji potok działa od tego momentu w tej wersji środowiska. Możesz zobaczyć wybraną wersję w ustawieniach GetPipeline pipeline, odpowiedzi API oraz dzienniku runtime_details zdarzeń.

Co nie jest automatycznie migrowane

Potok przetwarzania nie jest migrowany automatycznie, jeśli zachodzi którykolwiek z poniższych warunków:

Potoki danych, które nie są automatycznie migrowane, nadal działają w poprzednim środowisku uruchomieniowym Python bez zmian. Możesz samodzielnie włączyć wersję środowiska , gdy pipeline będzie uprawniony.

Włącz wersję środowiskową samodzielnie

Automatyczna migracja obejmuje większość potoków. Możesz także jawnie określić wersję środowiska, na przykład aby szybciej przeprowadzić migrację lub przypiąć konkretną wersję, w interfejsie użytkownika edytora Pipelines, za pomocą interfejsu API REST Pipelines lub pakietów deklaratywnej automatyzacji.

Zanim włączysz wersję środowiska wprost, sprawdź, czy Twój pipeline jest kompatybilny ze Spark Connect. Jeśli Databricks wykryje, że włączenie tej wersji zmieniłoby zachowanie potoku danych, aktualizacja kończy się błędem, zanim jakiekolwiek dane zostaną zapisane, a komunikat błędu wskazuje różnicę, którą należy usunąć.

Włączanie za pośrednictwem interfejsu użytkownika

  1. W edytorze rurociągu kliknij pozycję Ustawienia.
  2. W obszarze Środowisko potoku wybierz ikonę ołówka.Edytuj środowisko.
  3. Wybierz wersję środowiska z listy rozwijanej.
  4. Zapisz ustawienia potoku.

Zależności zewnętrzne dodane w sekcji Środowisko potoku są nakładane na warstwy bibliotek dołączonych do wybranej wersji środowiska. Zobacz Zarządzanie zależnościami języka Python dla potoków.

Włączanie za pośrednictwem interfejsu API

Interfejs API REST usługi Pipelines akceptuje blok environment podczas tworzenia i aktualizowania potoku. Dla obszaru roboczego należy włączyć uwierzytelnianie osobistego tokenu dostępu.

Aby utworzyć potok z wersją środowiska:

curl --request POST \
  --url 'https://<workspace-host>/api/2.0/pipelines' \
  --header 'Authorization: Bearer <personal-access-token>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "name": "<pipeline-name>",
    "catalog": "<catalog>",
    "schema": "<schema>",
    "channel": "CURRENT",
    "environment": {
      "environment_version": "4",
      "dependencies": [
        "simplejson==3.19.*"
      ]
    }
  }'

Aby ustawić wersję środowiska w istniejącym potoku, wyślij ten sam blok environment wraz z PUT /api/2.0/pipelines/<pipeline-id>.

Włączanie za pomocą pakietów automatyzacji deklaratywnej

Podczas tworzenia potoku przy użyciu deklaratywnych pakietów automatyzacji w definicji YAML potoku można ustawić wersję środowiska.

  1. Upewnij się, że Databricks CLI ma wersję v0.294.0 lub nowszą. Jeśli tak nie jest, uaktualnij, postępując zgodnie z przewodnikiem instalacji.
  2. Skonfiguruj pakiet, postępując zgodnie z samouczkiem tworzenia pakietu pipelines.
  3. Znajdź potok YAML w pakiecie <bundle-folder>/resources/<pipeline_name>_pipeline.yml, zazwyczaj .
  4. Ustaw pola environment_version i dependencies w pliku YAML potoku:
resources:
  pipelines:
    my_pipeline:
      name: my_pipeline
      catalog: ${var.catalog}
      schema: ${var.schema}
      root_path: '../src/my_pipeline'
      libraries:
        - glob:
            include: ../src/my_pipeline/transformations/**
      environment:
        environment_version: 4
        dependencies:
          - --editable ${workspace.file_path}

Sprawdź wersję środowiska w potoku

Aby sprawdzić, na której wersji środowiska działa potok, niezależnie od tego, czy ustawiono ją jawnie, czy Databricks wybrał ją podczas automatycznej migracji:

  • UI: otwórz ustawienia potoku i sprawdź sekcję Środowisko potoku lub przejrzyj panel JSON pod kątem pola environment.environment_version.
  • API: wywołaj GET /api/2.0/pipelines/<pipeline-id> i poszukaj environment.environment_version w odpowiedzi. To pokazuje wersję, którą wyraźnie ustaliłeś; Aby zobaczyć wersję wybraną przez automatyczną migrację, skorzystaj z poniższego dziennika zdarzeń.
  • Dziennik zdarzeń: Sprawdź runtime_details zdarzenie, które raportuje wersję środowiska użytą do aktualizacji. Zobacz Szczegóły zdarzenia runtime_details.

Wyłącz lub cofnij wersję środowiskową

Nie musisz ręcznie cofać automatycznej migracji. Migracja, która się nie powiodła, jest automatycznie cofana przy następnej aktualizacji. Po usunięciu wersji środowiska potok powróci do poprzedniej konfiguracji środowiska uruchomieniowego Python. Jeśli wydarzy się coś nieoczekiwanego, skontaktuj się z pomocą techniczną Azure Databricks.

Dodatkowe zasoby