Udostępnij za pośrednictwem


Biblioteki

Aby udostępnić kod innej firmy lub kod niestandardowy w notesach i zadaniach uruchomionych w klastrach, możesz zainstalować bibliotekę. Biblioteki można pisać w językach Python, Java, Scala i R. Możesz przekazać biblioteki Python, Java i Scala oraz wskazać pakiety zewnętrzne w repozytoriach PyPI, Maven i CRAN.

W usłudze Azure Databricks wiele typowych bibliotek jest zawartych 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ązać problemy związane z bibliotekami instalowanymi i obsługiwanymi przez usługę Azure Databricks. W przypadku składników innych firm, w tym bibliotek, firma Microsoft zapewnia pomoc techniczną w uzasadnionym ekonomicznie zakresie, aby pomóc w dalszym rozwiązywaniu problemów. Zespół pomocy technicznej firmy Microsoft pomaga w takich przypadkach w miarę możliwości i jest w stanie rozwiązać niektóre problemy. W przypadku projektów i łączników typu open source hostowanych w usłudze GitHub zalecamy zgłaszanie problemów i podejmowanie dalszych działań w usłudze GitHub. Prace programistyczne, takie jak zacienianie plików jar lub tworzenie bibliotek Python, nie są obsługiwane w ramach standardowego procesu przesyłania zgłoszeń do pomocy technicznej: wymagają relacji doradztwa w celu szybszego rozwiązania. W przypadku technologii open source pomoc techniczna może poprosić Cię o skorzystanie z innych kanałów zapewniających dostęp do głębszej wiedzy na temat danej technologii. Istnieje kilka witryn społeczności, na przykład strona usługi Azure Databricks w witrynie Microsoft Q&A oraz witryna Stack Overflow.

Biblioteki o zakresie klastra

Biblioteki można instalować w klastrach, aby mogły być używane przez wszystkie notesy i zadania uruchomione w klastrze. Usługa Databricks obsługuje biblioteki Python, JAR i R. Zobacz Biblioteki klastrów.

Bibliotekę klastra 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 przekazywania bibliotek , aby uzyskać zalecenia dotyczące 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 usługi Azure Databricks, przechowywanie plików bibliotek w katalogu głównym systemu plików DBFS jest domyślnie przestarzałe i 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 przekazywanie wszystkich bibliotek, w tym bibliotek języka Python, plików JAR i łączników platformy Spark, do plików obszaru roboczego lub woluminów wykazu aparatu Unity lub przy użyciu repozytoriów pakietów biblioteki. 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 bibliotek, zobacz Obsługa bibliotek języka Python, obsługa bibliotek Java i Scala oraz obsługa bibliotek języka R.

Zalecenia dotyczące przekazywania 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 obsługujących instalację na obliczenia z trybem dostępu współdzielonego, ponieważ jest to zalecany tryb dla wszystkich obciążeń. Zobacz Tryby dostępu. Podczas planowania zadań w trybie dostępu współdzielonego uruchom zadanie z jednostką usługi.

Ważne

Używaj zasobów obliczeniowych tylko w trybie dostępu pojedynczego użytkownika, jeśli wymagane funkcje nie są obsługiwane przez tryb dostępu współdzielonego. Tryb dostępu współużytkowanego izolacji nie jest starszą konfiguracją usługi Databricks, która nie jest zalecana.

Poniższa tabela zawiera zalecenia zorganizowane przez wersję środowiska Databricks Runtime i włączanie wykazu aparatu Unity.

Konfigurowanie Zalecenie
Databricks Runtime 13.3 LTS i nowsze z wykazem aparatu Unity Zainstaluj biblioteki na obliczeniach z trybem dostępu współdzielonego z woluminów wykazu aparatu Unity z funkcją GRANT READ dla wszystkich użytkowników konta.

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 lub nowszy bez wykazu aparatu Unity Zainstaluj biblioteki z plików obszaru roboczego. (Limit rozmiaru pliku wynosi 500 MB).
Środowisko Databricks Runtime 10.4 LTS i starsze Instalowanie bibliotek z magazynu obiektów w chmurze.

Obsługa biblioteki języka Python

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

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

Uwaga

Instalowanie plików egg w Pythonie jest obsługiwane tylko w środowisku Databricks Runtime 13.3 LTS i niższych oraz tylko dla pojedynczego użytkownika lub w trybach współużytkowania bez izolacji. Ponadto nie można zainstalować plików jaj języka Python na woluminach lub plikach obszaru roboczego. Zamiast tego użyj plików wheel języka Python lub zainstaluj pakiety z PyPI.

Tryb dostępu współdzielonego Tryb dostępu pojedynczego użytkownika Brak trybu dostępu współdzielonego 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
Woluminów 13.3 LTS i nowsze 13.3 LTS i nowsze Nieobsługiwane
Magazyn w chmurze 13.3 LTS i nowsze Wszystkie obsługiwane wersje środowiska Databricks Runtime Wszystkie obsługiwane wersje środowiska Databricks Runtime
DBFS (niezalecane) Nieobsługiwane 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 klastra na podstawie lokalizacji źródłowej biblioteki. Zobacz Wersje informacji o wersji środowiska Databricks Runtime oraz tryby zgodności i dostępu.

Uwaga

Tryb dostępu współdzielonego wymaga od administratora dodania współrzędnych i ścieżek maven dla bibliotek JAR do elementu allowlist. Zobacz Allowlist libraries and init scripts on shared compute (Biblioteki dozwolonych i skrypty inicjowania w udostępnionych obliczeniach).

Tryb dostępu współdzielonego Tryb dostępu pojedynczego użytkownika Brak trybu dostępu współdzielonego 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 Nieobsługiwane Nieobsługiwane 14.1 i nowsze
Woluminów 13.3 LTS i nowsze 13.3 LTS i nowsze Nieobsługiwane
Magazyn w chmurze 13.3 LTS i nowsze Wszystkie obsługiwane wersje środowiska Databricks Runtime Wszystkie obsługiwane wersje środowiska Databricks Runtime
DBFS (niezalecane) Nieobsługiwane 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 klastra. Zobacz Wersje informacji o wersji środowiska Databricks Runtime oraz tryby zgodności i dostępu.

Tryb dostępu współdzielonego Tryb dostępu pojedynczego użytkownika Brak trybu dostępu współdzielonego izolacji (starsza wersja)
CRAN Nieobsługiwane Wszystkie obsługiwane wersje środowiska Databricks Runtime Wszystkie obsługiwane wersje środowiska Databricks Runtime

Biblioteki o zakresie notesu

Biblioteki o zakresie notesu, dostępne dla języków Python i R, umożliwiają instalowanie bibliotek i tworzenie środowiska w zakresie sesji notesu. Te biblioteki nie mają wpływu na inne notesy uruchomione w tym samym klastrze. Biblioteki o zakresie notesu nie są utrwalane i muszą być ponownie zainstalowane dla każdej sesji. Użyj bibliotek o zakresie notesu, jeśli potrzebujesz środowiska niestandardowego dla określonego notesu.

Uwaga

Nie można zainstalować plików JAR na poziomie notesu.

Ważne

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

Zarządzanie środowiskiem języka Python

Poniższa tabela zawiera omówienie opcji, których można użyć w celu zainstalowania bibliotek języka Python w usłudze Azure Databricks.

Uwaga

  • Kontenery niestandardowe korzystające ze środowiska opartego na conda nie są zgodne z bibliotekami o zakresie notesu i bibliotekami klastra w środowisku Databricks Runtime 10.4 LTS i nowszym. Zamiast tego usługa Azure Databricks zaleca instalowanie bibliotek bezpośrednio na obrazie lub używanie skryptów inicjowania. Aby nadal korzystać z bibliotek klastra w tych scenariuszach, możesz ustawić konfigurację spark.databricks.driverNfs.clusterWidePythonLibsEnabled platformy Spark na wartość false. Obsługa konfiguracji platformy Spark zostanie usunięta 31 grudnia 2021 r. lub później.
Źródło pakietu języka Python Biblioteki o zakresie notesu z narzędziem %pip Biblioteki o zakresie notesu z plikiem YAML środowiska podstawowego Biblioteki klastrów Biblioteki zadań z interfejsem API zadań
PyPI Użyj witryny %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 kluczami tajnymi jest dostępne. Zobacz przykład. Dodaj element -–index-url do pliku YAML środowiska podstawowego. Zarządzanie kluczami tajnymi jest dostępne. Zobacz przykład. Nieobsługiwane. Nieobsługiwane.
VCS, na przykład 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 pozycję 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 kluczami tajnymi 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 witryny %pip install. Zobacz przykład. Dodaj ścieżkę pliku jako nazwę pakietu do pliku YAML środowiska podstawowego. Zobacz przykład. Wybierz pozycję Ścieżka pliku/USŁUGA ADLS jako źródło. Dodaj nowy egg obiekt lub whl do bibliotek zadań i określ ścieżkę package pliku jako pole.
Azure Data Lake Storage Gen2 Użyj %pip install razem ze wstępnie podpisanym adresem URL. Ścieżki z protokołem abfss:// Usługi Azure Data Lake Storage Gen2 nie są obsługiwane. Dodaj wstępnie podpisany adres URL jako nazwę pakietu do pliku YAML środowiska podstawowego. Ścieżki z protokołem abfss:// Usługi Azure Data Lake Storage Gen2 nie są obsługiwane. Wybierz pozycję Ścieżka pliku/USŁUGA ADLS jako źródło. Dodaj nowy egg obiekt lub whl do bibliotek zadań i określ ścieżkę usługi Azure Data Lake Storage Gen2 jako package pole.

Pierwszeństwo biblioteki języka Python

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ą w klastrze. Po uruchomieniu import <library>biblioteki o wysokim pierwszeństwie zostanie zaimportowana biblioteka.

Ważne

Biblioteki przechowywane w plikach obszaru roboczego mają różne pierwszeństwo w zależności od sposobu ich dodawania do języka Python sys.path. Folder Git usługi Databricks dodaje bieżący katalog roboczy do ścieżki przed wszystkimi innymi bibliotekami, podczas gdy notesy spoza folderów Git dodają bieżący katalog roboczy 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ące kolejności listy mają pierwszeństwo 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 notesu (%pip install w notesach).
  4. Biblioteki klastra (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 obszaru roboczego dołączone do pliku sys.path.