Udostępnij za pośrednictwem


Instalowanie zależności notesu

Zależności języka Python można zainstalować dla notesów bezserwerowych przy użyciu panelu bocznego Środowisko . Ten panel zawiera jedno miejsce do edytowania, wyświetlania i eksportowania wymagań dotyczących biblioteki notesu. Te zależności można dodawać przy użyciu środowiska podstawowego lub indywidualnie.

Panel środowiska bezserwerowego z zasadami budżetu

Aby zapoznać się z zadaniami spoza notesu, zobacz Konfigurowanie środowisk i zależności dla zadań innych niż notes.

Ważne

Nie należy instalować narzędzia PySpark ani żadnej biblioteki, która instaluje narzędzie PySpark jako zależność od notesów bezserwerowych. Spowoduje to zatrzymanie sesji i wystąpienie błędu. W takim przypadku usuń bibliotekę i zresetuj środowisko.

Konfigurowanie środowiska podstawowego

Środowisko podstawowe to plik YAML zapisany jako plik obszaru roboczego lub na woluminie katalogu Unity, który określa dodatkowe zależności środowiska. Środowiska podstawowe mogą być współużytkowane przez notesy. Aby skonfigurować środowisko podstawowe:

  1. Utwórz plik YAML, który definiuje ustawienia dla środowiska wirtualnego języka Python. Poniższy przykład YAML oparty na specyfikacji środowiska projektów MLflow definiuje środowisko podstawowe z kilkoma zależnościami biblioteki:

    client: "1"
    dependencies:
      - --index-url https://pypi.org/simple
      - -r "/Workspace/Shared/requirements.txt"
      - my-library==6.1
      - "/Workspace/Shared/Path/To/simplejson-3.19.3-py3-none-any.whl"
      - git+https://github.com/databricks/databricks-cli
    
  2. Załaduj plik YAML jako plik w obszarze roboczym lub do woluminu Katalogu Unity. Zobacz Importuj plik lub Prześlij pliki do wolumenu Unity Catalog.

  3. Po prawej stronie notesu kliknij Środowisko usługi przycisk , aby rozwinąć panel Środowisko . Ten przycisk jest wyświetlany tylko wtedy, gdy notes jest połączony z obliczeniami bezserwerowymi.

  4. Wprowadź w polu Podstawowe środowisko ścieżkę przesłanego pliku YAML lub przejdź do niego i wybierz go.

  5. Kliknij Zastosuj. Spowoduje to zainstalowanie zależności w środowisku wirtualnym notesu i ponowne uruchomienie procesu języka Python.

Użytkownicy mogą zastąpić zależności określone w środowisku podstawowym, instalując zależności indywidualnie.

Konfigurowanie środowiska notesu

Zależności można również zainstalować w notesie połączonym z obliczeniami bezserwerowym przy użyciu sekcji zależności panelu środowiska :

  1. Po prawej stronie notesu kliknij Środowisko usługi przycisk , aby rozwinąć panel Środowisko . Ten przycisk jest wyświetlany tylko wtedy, gdy notes jest połączony z obliczeniami bezserwerowymi.
  2. Wybierz wersję środowiska z listy rozwijanej Wersja środowiska. Zobacz wersje środowiska bezserwerowego. Usługa Databricks zaleca wybranie najnowszej wersji, aby uzyskać najbardziej up-to— funkcje notesu daty.
  3. W sekcji Zależności kliknij pozycję Dodaj zależność i wprowadź ścieżkę zależności biblioteki w polu. Zależność można określić w dowolnym formacie prawidłowym w pliku requirements.txt .
  4. Kliknij Zastosuj. Spowoduje to zainstalowanie zależności w środowisku wirtualnym notesu i ponowne uruchomienie procesu języka Python.

Uwaga

Zadanie korzystające z obliczeń bezserwerowych spowoduje zainstalowanie specyfikacji środowiska notesu przed wykonaniem kodu notesu. Oznacza to, że nie ma potrzeby dodawania zależności podczas planowania notesów jako zadań. Zobacz Konfigurowanie środowisk i zależności.

Wyświetlanie zainstalowanych zależności i dzienników

Aby wyświetlić zainstalowane zależności, kliknij Zainstalowane w panelu Środowiska dla notesu. Dzienniki instalacji pip dla środowiska notebooka są również dostępne, klikając dzienniki pip w dolnej części panelu.

Resetowanie środowiska

Jeśli notes jest połączony z obliczeniami bezserwerowymi, usługa Databricks automatycznie buforuje zawartość środowiska wirtualnego notesu. Oznacza to, że zwykle nie trzeba ponownie instalować zależności języka Python określonych w panelu Środowisko po otwarciu istniejącego notesu, nawet jeśli został odłączony z powodu braku aktywności.

Buforowanie środowiska wirtualnego języka Python dotyczy również zadań. Po uruchomieniu zadania każde zadanie, które dzieli ten sam zestaw zależności co wcześniej ukończone zadanie w tym uruchomieniu, jest szybsze, ponieważ wymagane zależności są już dostępne.

Uwaga

Jeśli zmienisz implementację niestandardowego pakietu języka Python używanego w zadaniu bezserwerowym, musisz również zaktualizować jego numer wersji, aby zadania mogły pobrać najnowszą implementację.

Aby wyczyścić pamięć podręczną środowiska i przeprowadzić nową instalację zależności określonych w panelu Environment notatnika połączonego z obliczeniami bezserwerowymi, kliknij strzałkę obok Zastosuj, a następnie kliknij Resetuj środowisko.

Uwaga

Zresetuj środowisko wirtualne, jeśli zainstalujesz pakiety powodujące przerwanie lub zmianę podstawowego notatnika lub środowiska Apache Spark. Odłączanie notesu od bezserwerowych obliczeń i ponowne dołączanie go niekoniecznie powoduje wyczyszczenie całej pamięci podręcznej środowiska. Zresetowanie środowiska spowoduje ponowne zainstalowanie wszystkich zależności określonych w panelu środowiska , dlatego przed zresetowaniem upewnij się, że pakiety naruszające warunki zostaną usunięte.

Konfigurowanie środowisk i zależności dla zadań innych niż notes

W przypadku innych obsługiwanych typów zadań, takich jak skrypt języka Python, koło języka Python lub zadania dbt, domyślne środowisko zawiera zainstalowane biblioteki języka Python. Aby wyświetlić listę zainstalowanych bibliotek, zobacz sekcję Zainstalowane biblioteki języka Python używanej wersji klienta. Zobacz wersje środowiska bezserwerowego. Jeśli zadanie wymaga biblioteki Python, która nie jest zainstalowana, możesz zainstalować bibliotekę z plików obszaru roboczego , wolumenów Unity Catalog lub repozytoriów pakietów publicznych. Aby dodać bibliotekę podczas tworzenia lub edytowania zadania:

  1. W menu rozwijanym Środowisko i biblioteki kliknijEdytuj ikonęobok środowiska domyślnego lub kliknij pozycję + Dodaj nowe środowisko.

    Edytowanie środowiska domyślnego

  2. Wybierz wersję środowiska z listy rozwijanej Wersja środowiska. Zobacz wersje środowiska bezserwerowego. Usługa Databricks zaleca wybranie najnowszej wersji, aby uzyskać najbardziej up-to-date funkcje.

  3. W oknie dialogowym Konfigurowanie środowiska kliknij pozycję + Dodaj bibliotekę.

  4. Wybierz typ zależności z menu rozwijanego pod Bibliotekami .

  5. W polu tekstowym Ścieżka pliku wprowadź ścieżkę do biblioteki.

  • W przypadku koła języka Python w pliku obszaru roboczego ścieżka powinna być bezwzględna i zaczynać się od /Workspace/.

  • W przypadku pakietu Wheel dla Pythona w woluminie katalogu Unity ścieżka powinna być /Volumes/<catalog>/<schema>/<volume>/<path>.whl.

  • W przypadku pliku requirements.txt wybierz PyPi i wprowadź -r /path/to/requirements.txt.

    Dodawanie bibliotek zadań

  1. Kliknij pozycję Potwierdź lub + Dodaj bibliotekę, aby dodać kolejną bibliotekę .
  2. Jeśli dodajesz zadanie, kliknij pozycję Utwórz zadanie. Jeśli edytujesz zadanie, kliknij pozycję Zapisz zadanie.

Konfigurowanie domyślnych repozytoriów pakietów języka Python

Administratorzy mogą konfigurować prywatne lub zautoryzowane repozytoria pakietów w środowiskach roboczych jako domyślną konfigurację pip dla notesów bezserwerowych i zadań bezserwerowych. Dzięki temu użytkownicy mogą instalować pakiety z wewnętrznych repozytoriów języka Python bez jawnego definiowania index-url lub extra-index-url. Jeśli jednak te wartości są określone w kodzie lub w notesie, mają pierwszeństwo przed domyślnymi ustawieniami obszaru roboczego.

Ta konfiguracja korzysta z wpisów tajnych usługi Databricks do bezpiecznego przechowywania adresów URL i poświadczeń repozytorium oraz zarządzania nimi. Administratorzy mogą skonfigurować ustawienia przy użyciu strony ustawień administratora obszaru roboczego lub przy użyciu wstępnie zdefiniowanego zakresu tajnych danych oraz poleceń CLI dla Databricks tajnych danych lub interfejsu API REST .

Konfigurowanie przy użyciu strony ustawień administratora obszaru roboczego

Administratorzy obszaru roboczego mogą dodawać lub usuwać domyślne repozytoria pakietów języka Python przy użyciu strony ustawień administratora obszaru roboczego.

  1. Jako administrator obszaru roboczego zaloguj się do obszaru roboczego usługi Databricks.
  2. Kliknij swoją nazwę użytkownika na górnym pasku obszaru roboczego usługi Databricks i wybierz pozycję Ustawienia.
  3. Kliknij kartę Compute.
  4. Obok Domyślne Repozytoria Pakietów, kliknij Zarządzaj.
  5. (Opcjonalnie) Dodaj lub usuń adres URL indeksu, dodatkowe adresy URL indeksu lub niestandardowy certyfikat SSL.
  6. Kliknij przycisk Zapisz, aby zapisać zmiany.

Uwaga

Modyfikacje lub usunięcia wpisów tajnych są stosowane po ponownym dołączeniu bezserwerowych zasobów obliczeniowych do notesów lub ponownym uruchomieniu zadań bezserwerowych.

Konfigurowanie przy użyciu CLI do zarządzania tajemnicami lub REST API

Aby skonfigurować domyślne repozytoria pakietów języka Python przy użyciu interfejsu wiersza polecenia lub interfejsu API REST, utwórz wstępnie zdefiniowany zakres wpisów tajnych i skonfiguruj uprawnienia dostępu, a następnie dodaj wpisy tajne repozytorium pakietów.

Wstępnie zdefiniowana nazwa tajnego zakresu

Administratorzy obszaru roboczego mogą ustawić domyślne adresy URL indeksu pip lub dodatkowe adresy URL indeksu, wraz z tokenami uwierzytelniania i hasłami, w wyznaczonym zakresie tajemnicy pod wcześniej zdefiniowanymi kluczami.

  • Nazwa tajnego zakresu: databricks-package-management
  • Klucz tajny dla adresu URL indeksu: pip-index-url
  • Klucz tajny dla dodatkowych adresów URL indeksu: pip-extra-index-urls
  • Klucz tajny zawartości certyfikacji SSL: pip-cert

Utwórz zakres tajny

Zakres wpisu tajnego można utworzyć przy użyciu poleceń interfejsu wiersza polecenia usługi Databricks wpisów tajnych lub interfejsu API REST . Po utworzeniu tajnego zakresu skonfiguruj listy kontroli dostępu (ACL), aby przyznać wszystkim użytkownikom obszaru roboczego dostęp do odczytu. Gwarantuje to, że repozytorium pozostaje bezpieczne i nie może zostać zmienione przez poszczególnych użytkowników.

databricks secrets create-scope databricks-package-management
databricks secrets put-acl databricks-package-management admins MANAGE
databricks secrets put-acl databricks-package-management users READ

Dodaj tajne dane repozytorium pakietów Python

Dodaj szczegóły repozytorium pakietów języka Python przy użyciu wstępnie zdefiniowanych nazw kluczy tajnych, a wszystkie trzy pola są opcjonalne.

# Add index URL.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-index-url", "string_value":"<index-url-value>"}'

# Add extra index URLs. If you have multiple extra index URLs, separate them using white space.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-extra-index-urls", "string_value":"<extra-index-url-1 extra-index-url-2>"}'

# Add cert content. If you want to pip configure a custom SSL certificate, put the cert file content here.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-cert", "string_value":"<cert-content>"}'

Modyfikowanie lub usuwanie sekretów prywatnego repozytorium PyPI

Aby zmodyfikować sekrety repozytorium PyPI, użyj polecenia put-secret. Aby usunąć tajne dane repozytorium PyPI, użyj delete-secret, jak pokazano poniżej:

# delete secret
databricks secrets delete-secret databricks-package-management pip-index-url

databricks secrets delete-secret databricks-package-management pip-extra-index-urls

databricks secrets delete-secret databricks-package-management pip-cert

# delete scope
databricks secrets delete-scope databricks-package-management