Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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_versionsamodzielnie, 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:
- Od ostatniej aktualizacji nie zostały rozwiązane ostrzeżenia dotyczące zgodności ze Spark Connect .
- To nie jest pipeline Unity Catalog.
- Wykorzystuje funkcję, której automatyczna migracja jeszcze nie obejmuje:
foreach_batchsinki, haki zdarzeń, AUTO CDC ze źródła funkcji snapshot lub niestandardowy obraz.
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
- W edytorze rurociągu kliknij pozycję Ustawienia.
- W obszarze Środowisko potoku wybierz
Edytuj środowisko.
- Wybierz wersję środowiska z listy rozwijanej.
- 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.
- 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.
- Skonfiguruj pakiet, postępując zgodnie z samouczkiem tworzenia pakietu pipelines.
- Znajdź potok YAML w pakiecie
<bundle-folder>/resources/<pipeline_name>_pipeline.yml, zazwyczaj . - Ustaw pola
environment_versionidependenciesw 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 poszukajenvironment.environment_versionw 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_detailszdarzenie, 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
- Kompatybilność wersji środowiska — ograniczenia, zmiany zachowania, skanowanie zgodności oraz automatyczna migracja.
- Zarządzanie zależnościami języka Python w potokach — nakładanie zewnętrznych zależności języka Python na wersję środowiska.