Udostępnij przez


Zarządzanie zależnościami języka Python dla potoków

Lakeflow Spark Declarative Pipelines obsługuje zależności zewnętrzne w twoich potokach. Usługa Databricks zaleca użycie jednego z dwóch wzorców do zainstalowania pakietów języka Python:

  1. Użyj ustawień środowiska , aby dodać pakiety do środowiska potoku dla wszystkich plików źródłowych w potoku.
  2. Zaimportuj moduły lub biblioteki z kodu źródłowego przechowywanego w plikach obszaru roboczego. Zobacz Importowanie modułów języka Python z folderów git lub plików obszarów roboczych.

Potoki przetwarzania danych obsługują również używanie skryptów inicjowania w zakresie globalnym i na poziomie klastra. Jednak te zależności zewnętrzne, szczególnie skrypty inicjowania, zwiększają ryzyko problemów z uaktualnieniami środowiska uruchomieniowego. Aby ograniczyć te zagrożenia, zminimalizuj użycie skryptów inicjowania w potokach. Jeśli przetwarzanie wymaga skryptów inicjowania, zautomatyzuj testowanie potoku w celu wczesnego wykrywania problemów. Jeśli używasz skryptów init, usługa Databricks zaleca zwiększenie częstotliwości testowania.

Ważne

Ponieważ biblioteki JVM nie są obsługiwane w potokach, nie używaj skryptu inicjowania do instalowania bibliotek JVM. Można jednak zainstalować inne typy bibliotek, takie jak biblioteki języka Python, za pomocą skryptu init.

Biblioteki języka Python

Aby określić zewnętrzne biblioteki języka Python, zmodyfikuj środowisko dla pipeline'u.

  1. W edytorze rurociągu kliknij pozycję Ustawienia.
  2. W obszarze Środowisko potoku wybierz ikonę ołówka.Edytuj środowisko.
  3. Kliknij ikonę Plus.Dodaj zależność.
  4. Wpisz nazwę zależności. Usługa Databricks zaleca ustalenie wersji biblioteki. Aby na przykład dodać zależność od simplejson wersji 3.19, wpisz simplejson==3.19.*.

Pakiet wheel Python można również zainstalować z woluminu Unity Catalog, określając jego ścieżkę, taką jak /Volumes/my_catalog/my_schema/my_ldp_volume/ldpfns-1.0-py3-none-any.whl.

Czy można używać bibliotek Scala lub Java w potokach?

Pipelines obsługują tylko SQL i Python. W potoku nie można używać bibliotek JVM. Zainstalowanie bibliotek JVM spowoduje nieprzewidywalne zachowanie i może zakłócić działanie przyszłych wydań deklaratywnych potoków Lakeflow Spark. Jeśli potok używa skryptu inicjowania, należy również upewnić się, że biblioteki JVM nie są zainstalowane przez skrypt.