Udostępnij za pośrednictwem


Instalowanie bibliotek

Aby udostępnić kod zewnętrzny lub niestandardowy dla notesów i zadań uruchamianych w zasobach obliczeniowych, możesz zainstalować bibliotekę. Można pisać biblioteki w językach Python, Java, Scala i R. Możesz przesyłać biblioteki Python, Java i Scala oraz wskazywać na zewnętrzne pakiety w repozytoriach PyPI, Maven i CRAN.

Azure Databricks zawiera wiele popularnych bibliotek w środowisku Databricks Runtime. Aby wyświetlić biblioteki zawarte w środowisku Databricks Runtime, przejdź do podsekcji Środowisko systemu w artykule Informacje o wersji środowiska uruchomieniowego usługi Databricks dotyczącym wersji środowiska Databricks Runtime, z której korzystasz.

Uwaga

pomoc techniczna firmy Microsoft pomaga wyizolować i rozwiązywać problemy związane z bibliotekami zainstalowanymi i obsługiwanymi przez Azure Databricks. W przypadku składników innych firm, w tym bibliotek, Microsoft zapewnia rozsądną komercyjnie pomoc techniczną, aby ułatwić dalsze rozwiązywanie problemów. pomoc techniczna firmy Microsoft pomaga w ramach najlepszych starań i może rozwiązać ten problem. W przypadku łączników open source i projektów hostowanych w usłudze GitHub zalecamy zgłaszać problemy na GitHubie i śledzić ich postęp. Prace programistyczne, takie jak cieniowanie plików jar lub tworzenie bibliotek Python, nie są obsługiwane w ramach standardowego procesu przesyłania zgłoszenia do pomocy technicznej: wymagają one zaangażowania konsultingowego w celu szybszego rozwiązywania problemów. Pomoc techniczna może poprosić Cię o skorzystanie z innych kanałów dla technologii open-source, gdzie można znaleźć specjalistyczną wiedzę na temat tej technologii. Istnieje kilka witryn społeczności; dwa przykłady to strona Microsoft Q&A dotycząca Azure Databricks i Stack Overflow.

biblioteki o zakresie obliczeniowym

Biblioteki można instalować na zasobie obliczeniowym, aby mogły być używane przez wszystkie notatniki i zadania uruchomione na zasobie obliczeniowym. Usługa Databricks obsługuje biblioteki Python, JAR i R. Zobacz Biblioteki o zakresie obliczeniowym.

Bibliotekę o zakresie obliczeniowym można zainstalować bezpośrednio z następujących źródeł:

Nie wszystkie lokalizacje są obsługiwane dla wszystkich typów bibliotek lub wszystkich konfiguracji obliczeniowych. Zobacz Zalecenia dotyczące przesyłania bibliotek w celu uzyskania rekomendacji konfiguracji.

Ważne

Biblioteki można instalować z systemu plików DBFS podczas korzystania z środowiska Databricks Runtime 14.3 LTS i poniżej. Jednak każdy użytkownik obszaru roboczego może modyfikować pliki biblioteki przechowywane w systemie plików DBFS. Aby zwiększyć bezpieczeństwo bibliotek w obszarze roboczym Azure Databricks, przechowywanie plików bibliotek w zasobach głównych DBFS jest niezalecane i domyślnie wyłączone w środowisku Databricks Runtime 15.1 lub nowszym. Zobacz Przechowywanie bibliotek w katalogu głównym systemu plików DBFS jest domyślnie przestarzałe i wyłączone.

Zamiast tego usługa Databricks zaleca przekazanie wszystkich bibliotek, w tym bibliotek Python, plików JAR i łączników platformy Spark, do plików obszaru roboczego lub woluminów Unity Catalog, lub użycie repozytoriów pakietów bibliotecznych. Jeśli obciążenie nie obsługuje tych wzorców, możesz również użyć bibliotek przechowywanych w magazynie obiektów w chmurze.

Aby uzyskać pełne informacje o obsłudze biblioteki, zobacz obsługa biblioteki Python, Java i obsługa bibliotek Scala i R.

Zalecenia dotyczące przesyłania bibliotek

Usługa Databricks obsługuje większość instalacji konfiguracji bibliotek Python, JAR i R, ale istnieją nieobsługiwane scenariusze. Zaleca się przekazywanie bibliotek do lokalizacji źródłowych, które obsługują instalację na obliczeniach ze standardowym trybem dostępu (dawniej tryb dostępu współdzielonego), ponieważ jest to zalecany tryb dla wszystkich obciążeń. Zobacz Tryby dostępu. Podczas planowania zadań w standardowym trybie dostępu uruchom zadanie przy użyciu jednostki usługi .

Ważne

Używaj zasobów obliczeniowych z dedykowanym trybem dostępu (dawniej trybem dostępu pojedynczego użytkownika), jeśli wymagane funkcje nie są obsługiwane przez standardowy tryb dostępu. Tryb współdzielonego dostępu bez izolacji na platformie Databricks to starsza konfiguracja, która nie jest zalecana.

Poniższa tabela zawiera zalecenia uporządkowane według wersji środowiska Databricks Runtime i aktywacji katalogu Unity.

Konfigurowanie Zalecenie
Databricks Runtime 13.3 LTS i wyższe wersje z Unity Catalog Instalowanie bibliotek na komputerze przy użyciu standardowego trybu dostępu z woluminów katalogu Unity z uprawnieniami do odczytu GRANT dla wymaganych użytkowników.
Jeśli ma to zastosowanie, współrzędne narzędzia Maven i ścieżki biblioteki JAR muszą zostać dodane do listy dozwolonych.
Databricks Runtime 11.3 LTS i nowszy bez Unity Catalog Zainstaluj biblioteki z plików obszaru roboczego. (Limit rozmiaru pliku wynosi 500 MB).
Środowisko Databricks Runtime 10.4 LTS i starsze Zainstaluj biblioteki z chmurowego magazynu obiektów.

Obsługa biblioteki Python

W poniższej tabeli przedstawiono zgodność wersji środowiska Databricks Runtime dla plików Python wheel dla różnych trybów dostępu obliczeniowego na podstawie lokalizacji źródłowej biblioteki. Zobacz wersje informacji o wydaniach i zgodności środowiska Databricks Runtime oraz tryby dostępu.

W środowisku Databricks Runtime 15.0 lub nowszym można użyć plików requirements.txt do zarządzania zależnościami Python. Te pliki można przekazać do dowolnej obsługiwanej lokalizacji źródłowej.

Uwaga

Instalowanie plików egg Python jest obsługiwane tylko w środowisku Databricks Runtime 13.3 LTS i starszym oraz tylko w przypadku dedykowanych lub współdzielonych trybów dostępu bez izolacji. Ponadto nie można zainstalować plików egg Pythona na woluminach ani w plikach obszaru roboczego. Zamiast tego użyj plików Python wheel lub zainstaluj pakiety z PyPI.

Tryb dostępu standardowego Tryb dedykowanego dostępu Tryb współdzielonego dostępu bez izolacji (starsza wersja)
PyPI 13.3 LTS i nowsze Wszystkie obsługiwane wersje środowiska Databricks Runtime Wszystkie obsługiwane wersje środowiska Databricks Runtime
Pliki obszaru roboczego 13.3 LTS i nowsze 13.3 LTS i nowsze 14.1 i nowsze
woluminy 13.3 LTS i nowsze 13.3 LTS i nowsze Niewspierane
Magazyn w chmurze 13.3 LTS i nowsze Wszystkie obsługiwane wersje środowiska Databricks Runtime Wszystkie obsługiwane wersje środowiska Databricks Runtime
DBFS (niezalecane) Niewspierane 14.3 i poniżej 14.3 i poniżej

Obsługa bibliotek Java i Scala

W poniższej tabeli przedstawiono zgodność wersji środowiska Databricks Runtime dla plików JAR dla różnych trybów dostępu obliczeniowego na podstawie lokalizacji źródłowej biblioteki. Zobacz wersje informacji o wydaniach i zgodności środowiska Databricks Runtime oraz tryby dostępu.

Aby uzyskać szczegółowe informacje na temat wdrażania plików JAR języka Scala w klastrze z włączonym katalogiem Unity w trybie dostępu standardowego, zobacz Samouczek: uruchamianie kodu Scala na serwerze bezserwerowym. Należy pamiętać, że w przypadku standardowych klastrów katalogu Unity, klasy w bibliotekach JAR muszą znajdować się w nazwanym pakiecie, takim jak com.databricks.MyClass, inaczej wystąpią błędy podczas importowania biblioteki.

Uwaga

Tryb dostępu standardowego wymaga, aby administrator dodał współrzędne i ścieżki Maven dla bibliotek JAR do allowlist. Zobacz listę dozwolonych bibliotek i skrypty inicjujące dla obliczeń w standardowym trybie dostępu (dawniej znany jako tryb współdzielonego dostępu).

Tryb dostępu standardowego Tryb dedykowanego dostępu Tryb współdzielonego dostępu bez izolacji (starsza wersja)
Maven 13.3 LTS i nowsze Wszystkie obsługiwane wersje środowiska Databricks Runtime Wszystkie obsługiwane wersje środowiska Databricks Runtime
Pliki obszaru roboczego Niewspierane Niewspierane 14.1 i nowsze
woluminy 13.3 LTS i nowsze 13.3 LTS i nowsze Niewspierane
Magazyn w chmurze 13.3 LTS i nowsze Wszystkie obsługiwane wersje środowiska Databricks Runtime Wszystkie obsługiwane wersje środowiska Databricks Runtime
DBFS (niezalecane) Niewspierane 14.3 i poniżej 14.3 i poniżej

Obsługa bibliotek języka R

W poniższej tabeli przedstawiono zgodność wersji środowiska Databricks Runtime dla pakietów CRAN dla różnych trybów dostępu obliczeniowego. Zobacz wersje informacji o wydaniach i zgodności środowiska Databricks Runtime oraz tryby dostępu.

Tryb dostępu standardowego Tryb dedykowanego dostępu Tryb współdzielonego dostępu bez izolacji (starsza wersja)
CRAN Niewspierane Wszystkie obsługiwane wersje środowiska Databricks Runtime Wszystkie obsługiwane wersje środowiska Databricks Runtime

Tożsamość instalatora

Podczas instalowania biblioteki z plików obszaru roboczego lub woluminów katalogu Unity, tożsamość może być powiązana z instalacją w zależności od trybu dostępu do przetwarzania. Tożsamość musi mieć dostęp do odczytu pliku biblioteki.

Tryb dostępu standardowego Tryb dedykowanego dostępu Tryb współdzielonego dostępu bez izolacji (starsza wersja)
Tożsamość użytkownika, który instaluje bibliotekę Tożsamość dedykowanego dyrektora Brak tożsamości

Biblioteki w zakresie notatnika

Biblioteki przypisane do notatnika, dostępne dla Pythona i R, umożliwiają instalowanie bibliotek i tworzenie środowiska przypisanego do sesji notatnika. Te biblioteki nie wpływają na inne notesy działające na tym samym środowisku obliczeniowym. Biblioteki o zakresie notesu nie są zachowywane i muszą być ponownie zainstalowane na każdą sesję. Użyj bibliotek o zasięgu notebooka, jeśli potrzebujesz niestandardowego środowiska dla danego notebooka.

Uwaga

Plików JAR nie można instalować na poziomie notesu.

Ważne

Biblioteki obszarów roboczych zostały przestarzałe i nie powinny być używane. Zobacz Biblioteki przestrzeni roboczej (wersja klasyczna). Jednak przechowywanie bibliotek jako pliki w obszarze roboczym różni się od bibliotek roboczych i nadal jest w pełni obsługiwane. Biblioteki przechowywane jako pliki obszaru roboczego można zainstalować bezpośrednio do zadań obliczeniowych lub do zadań.

zarządzanie środowiskiem Python

Poniższa tabela zawiera omówienie opcji, których można użyć do zainstalowania bibliotek Python w Azure Databricks.

Uwaga

  • Kontenery niestandardowe korzystające ze środowiska opartego na conda nie są zgodne z bibliotekami specyficznymi dla notebooków oraz z bibliotekami obliczeniowymi w Databricks Runtime 10.4 LTS i nowszych wersjach. Zamiast tego Azure Databricks zaleca instalowanie bibliotek bezpośrednio na obrazie lub używanie skryptów inicjowania. Aby nadal korzystać z bibliotek obliczeniowych w tych scenariuszach, możesz ustawić konfiguracji platformy Spark na spark.databricks.driverNfs.clusterWidePythonLibsEnabled. Obsługa konfiguracji platformy Spark zostanie usunięta 31 grudnia 2021 r. lub później.
źródło pakietu Python Biblioteki ograniczone do notatnika korzystające z %pip Biblioteki o zakresie notesu z plikiem YAML środowiska podstawowego biblioteki o zakresie obliczeniowym Biblioteki zadań z interfejsem API Jobs
PyPI Użyj %pip install. Zobacz przykład. Dodaj nazwę pakietu PyPI do pliku YAML środowiska podstawowego. Zobacz przykład. Wybierz pozycję PyPI jako źródło. Dodaj nowy obiekt pypi do bibliotek zadań i określ pole package.
Prywatny duplikat narzędzia PyPI, taki jak Nexus lub Artifactory Użyj %pip install z opcją --index-url. Zarządzanie tajemnicami jest dostępne. Zobacz przykład. Dodaj element -–index-url do pliku YAML środowiska podstawowego. Zarządzanie tajemnicami jest dostępne. Zobacz przykład. Nieobsługiwane. Nieobsługiwane.
VCS, takie jak GitHub, z nieprzetworzonym źródłem Użyj %pip install i określ adres URL repozytorium jako nazwę pakietu. Zobacz przykład. Dodaj adres URL repozytorium jako nazwę pakietu do pliku YAML środowiska podstawowego. Zobacz przykład. Wybierz PyPI jako źródło i określ adres URL repozytorium jako nazwę pakietu. Dodaj nowy obiekt pypi do bibliotek zadań i określ adres URL repozytorium jako pole package.
Prywatne VCS z nieprzetworzonym źródłem Użyj %pip install i określ adres URL repozytorium z uwierzytelnianiem podstawowym jako nazwę pakietu. Zarządzanie tajemnicami jest dostępne. Zobacz przykład. Dodaj repozytorium z uwierzytelnianiem podstawowym jako nazwę pakietu do pliku YAML środowiska podstawowego. Zobacz przykład. Nieobsługiwane. Nieobsługiwane.
Ścieżka pliku Użyj %pip install. Zobacz przykład. Dodaj ścieżkę pliku jako nazwę pakietu do pliku YAML środowiska podstawowego. Zobacz przykład. Wybierz ścieżkę pliku/ADLS jako źródło. Dodaj nowy obiekt egg lub obiekt whl do bibliotek zadań i określ pole package ścieżki pliku.
Azure Data Lake Storage Użyj %pip install razem ze wstępnie podpisanym adresem URL. Ścieżki z protokołem Azure Data Lake Storage abfss:// nie są obsługiwane. Dodaj wstępnie podpisany adres URL jako nazwę pakietu do pliku YAML środowiska podstawowego. Ścieżki z protokołem Azure Data Lake Storage abfss:// nie są obsługiwane. Wybierz ścieżkę pliku/ADLS jako źródło. Dodaj nowy obiekt egg lub whl do bibliotek zadań i określ ścieżkę Azure Data Lake Storage jako pole package.

Porządek bibliotek w Pythonie

Może wystąpić sytuacja, w której trzeba zastąpić wersję wbudowanej biblioteki lub bibliotekę niestandardową, która powoduje konflikt w nazwie z inną biblioteką zainstalowaną na zasobie obliczeniowym. Po uruchomieniu import <library> zostanie zaimportowana biblioteka o wysokim pierwszeństwie.

Ważne

Biblioteki przechowywane w plikach obszaru roboczego mają różne pierwszeństwo w zależności od sposobu ich dodawania do Python sys.path. Folder Git w usłudze Databricks dodaje bieżący katalog roboczy do ścieżki przed wszystkimi innymi bibliotekami, natomiast notatniki spoza folderów Git wprowadzają bieżący katalog roboczy do ścieżki po zainstalowaniu innych bibliotek. Jeśli ręcznie dołączysz katalogi obszarów roboczych do ścieżki, zawsze mają one najniższy priorytet.

Następująca lista jest uporządkowana od najwyższego do najniższego. Na tej liście niższa liczba oznacza wyższy priorytet.

  1. Biblioteki w bieżącym katalogu roboczym (tylko foldery Git).
  2. Biblioteki w katalogu głównym folderu Git (tylko foldery Git).
  3. Biblioteki o zakresie zdefiniowanym w zeszytach (%pip install w zeszytach).
  4. Biblioteki o zakresie obliczeniowym (przy użyciu interfejsu użytkownika, interfejsu wiersza polecenia lub interfejsu API).
  5. Biblioteki zawarte w środowisku Databricks Runtime.
    • Biblioteki zainstalowane za pomocą skryptów init mogą rozwiązywać problemy przed lub po wbudowanych bibliotekach, w zależności od sposobu ich instalowania. Usługa Databricks nie zaleca instalowania bibliotek za pomocą skryptów inicjowania.
  6. Biblioteki w bieżącym katalogu roboczym (a nie w folderach Git).
  7. Pliki z przestrzeni roboczej dołączone do sys.path.