Instalowanie bibliotek z magazynu obiektów
W tym artykule przedstawiono kroki wymagane do zainstalowania bibliotek z magazynu obiektów w chmurze w usłudze Azure Databricks.
Uwaga
W tym artykule opisano magazyn obiektów w chmurze jako ogólną koncepcję i przyjęto założenie, że bezpośrednio wchodzisz w interakcję z danymi przechowywanymi w magazynie obiektów przy użyciu identyfikatorów URI. Usługa Databricks zaleca używanie woluminów wykazu aparatu Unity do konfigurowania dostępu do plików w magazynie obiektów w chmurze. Zobacz Co to są woluminy wykazu aparatu Unity?.
Niestandardowe biblioteki JAR i Python Whl można przechowywać w magazynie obiektów w chmurze, zamiast przechowywać je w katalogu głównym systemu plików DBFS. Zobacz Biblioteki o zakresie klastra, aby uzyskać szczegółowe informacje o zgodności biblioteki.
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.
Ładowanie bibliotek do magazynu obiektów
Biblioteki można załadować do magazynu obiektów w taki sam sposób, jak w przypadku ładowania innych plików. Aby utworzyć nowe kontenery magazynu obiektów lub załadować pliki do magazynu obiektów w chmurze, musisz mieć odpowiednie uprawnienia w dostawcy usług w chmurze.
Udzielanie uprawnień tylko do odczytu do magazynu obiektów
Usługa Databricks zaleca skonfigurowanie wszystkich uprawnień związanych z instalacją biblioteki z uprawnieniami tylko do odczytu.
Usługa Azure Databricks umożliwia przypisywanie uprawnień zabezpieczeń do poszczególnych klastrów, które zarządzają dostępem do danych w magazynie obiektów w chmurze. Te zasady można rozszerzyć, aby dodać dostęp tylko do odczytu do magazynu obiektów w chmurze, który zawiera biblioteki.
Uwaga
W środowisku Databricks Runtime 12.2 LTS i poniżej nie można załadować bibliotek JAR podczas korzystania z klastrów z trybami dostępu współdzielonego. W środowisku Databricks Runtime 13.3 LTS lub nowszym należy dodać biblioteki JAR do listy dozwolonych wykazu aparatu Unity. Zobacz Allowlist libraries and init scripts on shared compute (Biblioteki dozwolonych i skrypty inicjowania w udostępnionych obliczeniach).
Usługa Databricks zaleca używanie jednostek usługi Microsoft Entra ID do zarządzania dostępem do bibliotek przechowywanych w usłudze Azure Data Lake Storage Gen2. Aby ukończyć tę konfigurację, użyj następującej połączonej dokumentacji:
Utwórz jednostkę usługi z uprawnieniami do odczytu i listy dla żądanych obiektów blob. Zobacz Uzyskiwanie dostępu do magazynu przy użyciu jednostki usługi i identyfikatora entra firmy Microsoft (Azure Active Directory).
Zapisz poświadczenia przy użyciu wpisów tajnych. Zobacz Zarządzanie wpisami tajnymi.
Ustaw właściwości w konfiguracji platformy Spark i zmiennych środowiskowych podczas tworzenia klastra, jak w poniższym przykładzie:
Konfiguracja platformy Spark:
spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id> spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}} spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/token
Zmienne środowiskowe:
SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
(Opcjonalnie) Refaktoryzacja skryptów inicjowania przy użyciu narzędzia azcopy lub interfejsu wiersza polecenia platformy Azure.
Zmienne środowiskowe ustawione podczas konfigurowania klastra w skryptach inicjowania można odwoływać się do przekazywania poświadczeń przechowywanych jako wpisy tajne do weryfikacji.
Instalowanie bibliotek w klastrach
Aby zainstalować bibliotekę przechowywaną w magazynie obiektów w chmurze w klastrze, wykonaj następujące kroki:
- Wybierz klaster z listy w interfejsie użytkownika klastrów.
- Wybierz kartę Biblioteki .
- Wybierz opcję Ścieżka pliku/ADLS.
- Podaj pełną ścieżkę identyfikatora URI do obiektu biblioteki (na przykład
abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/library.whl
). - Kliknij przycisk Zainstaluj.
Biblioteki można również zainstalować przy użyciu interfejsu API REST lub interfejsu wiersza polecenia.
Instalowanie bibliotek w notesach
Można użyć %pip
polecenia , aby zainstalować niestandardowe pliki wheel języka Python przechowywane w magazynie obiektów o określonym zakresie do izolowanej notesu platformy SparkSession. Aby użyć tej metody, należy przechowywać biblioteki w magazynie obiektów czytelnych publicznie lub użyć wstępnie podpisanego adresu URL.
Zobacz Biblioteki języka Python o zakresie notesu.
Uwaga
Nie można zainstalować bibliotek JAR w notesie. Biblioteki JAR należy zainstalować na poziomie klastra.