Bibliotheken

Sie können eine Bibliothek installieren, um Drittanbietercode oder benutzerdefinierten Code für Notebooks und Aufträge verfügbar zu machen, die in Ihren Clustern ausgeführt werden. Bibliotheken können in Python, Java, Scala und R geschrieben werden. Sie können Java-, Scala- und Python-Bibliotheken hochladen und auf externe Pakete in PyPI-, Maven- und CRAN-Repositorys verweisen.

Azure Databricks umfasst viele allgemeine Bibliotheken in Databricks Runtime. Im Unterabschnitt Systemumgebung der Databricks Runtime-Versionshinweise für Ihre Databricks Runtime-Version finden Sie Informationen zu den in Databricks Runtime enthaltenen Bibliotheken.

Hinweis

Der Microsoft-Support leistet Hilfe beim Isolieren und Beheben von Problemen mit Bibliotheken, die über Azure Databricks installiert und verwaltet werden. Für Drittanbieterkomponenten, z. B. Bibliotheken, leistet Microsoft Support in wirtschaftlich angemessenem Maße, um Sie bei der Problembehandlung zu unterstützen. Der Microsoft-Support hilft nach bestem Wissen und ist ggf. in der Lage, das Problem zu beheben. Für auf GitHub gehostete Open-Source-Connectors und -Projekte wird empfohlen, Probleme auf Github zu melden und nachzuverfolgen. Entwicklungsarbeiten, beispielsweise das Schattieren von JAR-Dateien oder das Entwickeln von Python-Bibliotheken, werden nicht durch den standardmäßigen Prozess für Supportanfragen unterstützt: Sie erfordern eine Beratung für eine schnellere Lösung. Unter Umständen werden Sie vom Support gebeten, andere Kanäle für Open-Source-Technologien in Anspruch zu nehmen, über die Sie Zugang zu Expertenwissen für diese Technologien haben. Es sind mehrere Communitywebsites vorhanden. Zwei Beispiele hierfür sind die Microsoft-Seite mit den häufig gestellten Fragen zu Azure Databricks und Stack Overflow.

Bibliotheken im Clusterbereich

Sie können Bibliotheken auf Clustern installieren, damit sie von allen Notizbüchern und Aufträgen verwendet werden können, die auf dem Cluster ausgeführt werden. Databricks unterstützt Python-, JAR- und R-Bibliotheken. Weitere Informationen finden Sie unter Clusterbibliotheken.

Sie können eine Clusterbibliothek direkt aus den folgenden Quellen installieren:

Nicht alle Speicherorte werden für alle Arten von Bibliotheken oder für alle Computekonfigurationen unterstützt. Informationen über Konfigurationsempfehlungen finden Sie unter Empfehlungen für das Hochladen von Bibliotheken.

Wichtig

Bei Verwendung von Databricks Runtime 14.3 LTS und niedriger können Bibliotheken über DBFS installiert werden. Arbeitsbereichsbenutzer und -benutzerinnen können jedoch Bibliotheksdateien ändern, die in DBFS gespeichert sind. Um die Sicherheit von Bibliotheken in einem Azure Databricks-Arbeitsbereich zu verbessern, wurde das Speichern von Bibliotheksdateien im DBFS-Stamm eingestellt und ist in Databricks Runtime 15.0 und höher standardmäßig deaktiviert. Weitere Informationen finden Sie unter Das Speichern von Bibliotheken im DBFS-Stamm ist veraltet und standardmäßig deaktiviert.

Stattdessen empfiehlt Databricks, alle Bibliotheken (einschließlich Python-Bibliotheken, JAR-Dateien und Spark-Connectors) in Arbeitsbereichsdateien oder auf Unity Catalog-Volumes hochzuladen oder Bibliothekspaketrepositorys zu verwenden. Wenn Ihre Workload diese Muster nicht unterstützt, können Sie auch Bibliotheken verwenden, die im Cloudobjektspeicher gespeichert sind.

Vollständige Informationen zur Bibliotheksunterstützung finden Sie unter Python-Bibliotheksunterstützung, Java- und Scala-Bibliotheksunterstützung und R-Bibliotheksunterstützung.

Empfehlungen für das Hochladen von Bibliotheken

Databricks unterstützt die meisten Konfigurationsinstallationen von Python-, JAR- und R-Bibliotheken, aber es gibt einige nicht unterstützte Szenarien. Es wird empfohlen, Bibliotheken an Quellspeicherorte hochzuladen, die die Installation auf der Compute mit dem Modus für gemeinsam genutzten Zugriff unterstützen, da dies der empfohlene Modus für alle Workloads ist. Weitere Informationen finden Sie unter Zugriffsmodi. Führen Sie beim Planen von Workflows mit dem Modus für den freigegebenen Zugriff den Workflow mit einem Dienstprinzipal aus.

Wichtig

Verwenden Sie "Compute" nur mit dem Modus für den einzelnen Benutzerzugriff, wenn die erforderliche Funktionalität nicht vom Modus für den gemeinsamen Zugriff unterstützt wird. Kein Isolationsmodus für den freigegebenen Zugriff ist eine Legacykonfiguration für Databricks, die nicht empfohlen wird.

Die folgende Tabelle enthält Empfehlungen nach Databricks Runtime-Version und Unity Catalog-Aktivierung organisiert.

Konfiguration Empfehlung
Databricks Runtime 13.3 LTS und höher mit Unity-Katalog Installieren Sie Bibliotheken auf der Compute mit freigegebenem Zugriffsmodus aus Unity-Katalogvolumes mit GRANT READ für alle Kontobenutzer.

Falls zutreffend, müssen Maven-Koordinaten und JAR-Bibliothekspfade zur Zulassungsliste hinzugefügt werden.
Databricks Runtime 11.3 LTS und höher ohne Unity-Katalog Installieren Sie Bibliotheken aus Arbeitsbereichsdateien. (Das Dateigrößenlimit ist 500 MB.)
Databricks Runtime 10.4 LTS und niedriger Installieren Sie Bibliotheken aus Cloudobjektspeicher.

Python-Bibliotheksunterstützung

Die folgende Tabelle zeigt die Kompatibilität der Databricks Runtime-Version für Python-Wheel-Dateien für verschiedene Clusterzugriffsmodi basierend auf dem Quellspeicherort der Bibliothek an. Weitere Informationen finden Sie unter Versionshinweise, Versionen und Kompatibilität von Databricks Runtime und Zugriffsmodi.

Bei Databricks Runtime 15.0 und höher können Sie requirements.txt-Dateien zum Verwalten Ihrer Python-Abhängigkeiten verwenden. Diese Dateien können an jeden unterstützten Quellspeicherort hochgeladen werden.

Hinweis

Die Installation von Python-Egg-Dateien wird mit Databricks Runtime 14.0 und höher nicht unterstützt. Verwenden Sie stattdessen Python-Wheel-Dateien, oder installieren Sie Pakete aus PyPI.

Zugriffsmodus Freigegeben Einzelbenutzerzugriffsmodus Kein Isolations-Modus für den freigegebenen Zugriff (Legacy)
PyPI 13.3 LTS und höher Alle unterstützten Databricks Runtime-Versionen Alle unterstützten Databricks Runtime-Versionen
Arbeitsbereichsdateien 13.3 LTS und höher 13.3 LTS und höher 14.1 und höher
Volumes 13.3 LTS und höher 13.3 LTS und höher Nicht unterstützt
Cloudspeicher 13.3 LTS und höher Alle unterstützten Databricks Runtime-Versionen Alle unterstützten Databricks Runtime-Versionen
DBFS (nicht empfohlen) Nicht unterstützt 14.3 und früher 14.3 und früher

Java- und Scala-Bibliotheksunterstützung

Die folgende Tabelle zeigt die Kompatibilität der Databricks-Runtime-Version für JAR-Dateien für verschiedene Clusterzugriffsmodi basierend auf dem Speicherort der Bibliotheksquelle an. Weitere Informationen finden Sie unter Versionshinweise, Versionen und Kompatibilität von Databricks Runtime und Zugriffsmodi.

Hinweis

Für den Modus für den freigegebenen Zugriff muss ein Administrator Maven-Koordinaten und Pfade für JAR-Bibliotheken hinzufügen zu einem allowlist. Weitere Informationen finden Sie unter Positivliste von Bibliotheken und Initialisierungsskripts auf freigegebenem Compute.

Zugriffsmodus Freigegeben Einzelbenutzerzugriffsmodus Kein Isolations-Modus für den freigegebenen Zugriff (Legacy)
Maven 13.3 LTS und höher Alle unterstützten Databricks Runtime-Versionen Alle unterstützten Databricks Runtime-Versionen
Arbeitsbereichsdateien Nicht unterstützt Nicht unterstützt 14.1 und höher
Volumes 13.3 LTS und höher 13.3 LTS und höher Nicht unterstützt
Cloudspeicher 13.3 LTS und höher Alle unterstützten Databricks Runtime-Versionen Alle unterstützten Databricks Runtime-Versionen
DBFS (nicht empfohlen) Nicht unterstützt 14.3 und früher 14.3 und früher

R Bibliotheksunterstützung

Die folgende Tabelle zeigt die Kompatibilität der Databricks Runtime-Version für CRAN-Pakete für verschiedene Clusterzugriffsmodi an. Weitere Informationen finden Sie unter Versionshinweise, Versionen und Kompatibilität von Databricks Runtime und Zugriffsmodi.

Zugriffsmodus Freigegeben Einzelbenutzerzugriffsmodus Kein Isolations-Modus für den freigegebenen Zugriff (Legacy)
CRAN Nicht unterstützt Alle unterstützten Databricks Runtime-Versionen Alle unterstützten Databricks Runtime-Versionen

Bibliotheken im Notebookbereich

Die für Python und R verfügbaren Bibliotheken im Notebook-Bereich ermöglichen die Installation von Bibliotheken und die Erstellung einer Umgebung im Bereich einer Notebook-Sitzung. Diese Bibliotheken haben keine Auswirkungen auf andere Notebooks, die im selben Cluster ausgeführt werden. Bibliotheken im Notebook-Bereich werden nicht gespeichert und müssen für jede Sitzung neu installiert werden. Verwenden Sie Bibliotheken im Notebook-Bereich, wenn Sie eine benutzerdefinierte Umgebung für ein bestimmtes Notebook benötigen.

Hinweis

JARs können nicht auf Notebookebene installiert werden.

Wichtig

Arbeitsbereichsbibliotheken sind veraltet und sollten nicht verwendet werden. Weitere Informationen finden Sie unter Arbeitsbereichsbibliotheken (Legacy). Das Speichern von Bibliotheken als Arbeitsbereichsdateien unterscheidet sich jedoch von Arbeitsbereichsbibliotheken und wird weiterhin vollständig unterstützt. Sie können Bibliotheken, die als Arbeitsbereichsdateien gespeichert sind, direkt installieren, um Aufgaben zu berechnen oder zu erledigen.

Python-Umgebungsverwaltung

In der folgenden Tabelle finden Sie eine Übersicht über die Optionen, die Sie zum Installieren von Python-Bibliotheken in Azure Databricks verwenden können.

Hinweis

  • Benutzerdefinierte Container, die eine conda-basierte Umgebung verwenden, sind nicht kompatibel mit Bibliotheken im Notebookbereich sowie mit Clusterbibliotheken in Databricks Runtime 10.4 LTS und höher. Stattdessen empfiehlt Azure Databricks, Bibliotheken direkt im Image zu installieren oder Initialisierungsskripts (init) zu verwenden. Um in diesen Szenarien weiterhin Clusterbibliotheken zu verwenden, können Sie die Spark-Konfigurationspark.databricks.driverNfs.clusterWidePythonLibsEnabled auf false festlegen. Die Unterstützung für die Spark-Konfiguration wird am oder nach dem 31. Dezember 2021 entfernt.
Python-Paketquelle Bibliotheken im Notebook-Bereich mit %pip Clusterbibliotheken Auftragsbibliotheken mit Auftrags-API
PyPI Verwenden Sie %pip install. Siehe Beispiel Wählen Sie PyPI als Quelle aus. Fügen Sie den Auftragsbibliotheken ein neues pypi-Objekt hinzu, und geben Sie das Feld package an.
Private PyPI-Spiegelung, z. B. Nexus oder Artifactory Verwenden Sie %pip install mit der Option --index-url. Geheimnisverwaltung ist verfügbar. Siehe Beispiel Nicht unterstützt. Nicht unterstützt.
VCS, etwa GitHub, mit Rohdatenquelle Verwenden Sie %pip install, und geben Sie die Repository-URL als Paketnamen an. Siehe Beispiel Wählen Sie PyPI als Quelle aus, und geben Sie die Repository-URL als Paketnamen an. Fügen Sie den Auftragsbibliotheken ein neues pypi-Objekt hinzu, und geben Sie die Repository-URL als Feld package an.
Privates VCS mit Rohdatenquelle Verwenden Sie %pip install, und geben Sie die Repository-URL mit Standardauthentifizierung als Paketnamen an. Geheimnisverwaltung ist verfügbar. Siehe Beispiel Nicht unterstützt. Wird nicht unterstützt.
Dateipfad Verwenden Sie %pip install. Siehe [example](/libraries/notebooks-python-libraries.md#workspace-files). Wählen Sie Dateipfad/ADLS als Quelle aus. Fügen Sie den Auftragsbibliotheken ein neues egg- oder whl-Objekt hinzu, und geben Sie den Dateipfad als package-Feld an.
Azure Data Lake Storage Gen2 Verwenden Sie %pip install zusammen mit einer vorsignierten URL. Pfade mit dem Azure Data Lake Storage Gen2-Protokoll abfss:// werden nicht unterstützt. Wählen Sie Dateipfad/ADLS als Quelle aus. Fügen Sie den Auftragsbibliotheken ein neues egg- oder whl-Objekt hinzu, und geben Sie den Azure Data Lake Storage Gen2-Pfaad als package-Feld an.

Rangfolge der Python-Bibliothek

Möglicherweise müssen Sie die Version für eine integrierte Bibliothek überschreiben oder eine benutzerdefinierte Bibliothek verwenden, die sich im Namen mit einer anderen Bibliothek überschneidet, die im Cluster installiert ist. Wenn Sie import <library> ausführen, wird die Bibliothek mit der hohen Rangfolge importiert.

Wichtig

Bibliotheken, die in Arbeitsbereichsdateien gespeichert sind, haben unterschiedliche Rangfolgen, je nachdem, wie sie dem Python sys.path hinzugefügt werden. Ein Databricks-Git-Ordner fügt das aktuelle Arbeitsverzeichnis dem Pfad vor allen anderen Bibliotheken hinzu, während Notebooks außerhalb von Git-Ordnern das aktuelle Arbeitsverzeichnis hinzufügen, nachdem andere Bibliotheken installiert wurden. Wenn Sie Arbeitsbereichsverzeichnisse manuell an Ihren Pfad anfügen, haben diese immer die niedrigste Priorität.

Die folgende Liste ordnet die Rangfolge vom höchsten zum niedrigsten an. In dieser Liste bedeutet eine niedrigere Zahl eine höhere Rangfolge.

  1. Bibliotheken im aktuellen Arbeitsverzeichnis (nur Git-Ordner)
  2. Bibliotheken im Stammverzeichnis des Git-Ordners (nur Git-Ordner)
  3. Bibliotheken im Notebook-Bereich (%pip install in Notebooks).
  4. Clusterbibliotheken (die UI, CLI oder API verwenden).
  5. Bibliotheken, die in Databricks Runtime enthalten sind.
    • Bibliotheken, die mit Init-Skripts installiert werden, können vor oder nach integrierten Bibliotheken aufgelöst werden, je nachdem, wie sie installiert werden. Databricks empfiehlt nicht, Bibliotheken mit Initialisierungsskripts zu installieren.
  6. Bibliotheken im aktuellen Arbeitsverzeichnis (nicht in Git-Ordnern)
  7. Arbeitsbereichsdateien, die an sys.path angefügt sind.