Freigeben über


Installieren von Bibliotheken

Um Drittanbieter- oder benutzerdefinierten Code für Notizbücher und Aufträge verfügbar zu machen, die auf Ihren Computeressourcen ausgeführt werden, können Sie eine Bibliothek installieren. 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 Computebereich

Sie können Bibliotheken auf einer Rechenressource installieren, damit sie von allen Notizbüchern und Aufträgen verwendet werden können, die auf der Rechenressource ausgeführt werden. Databricks unterstützt Python-, JAR- und R-Bibliotheken. Siehe Compute-spezifische Bibliotheken.

Sie können eine Bibliothek im Computebereich 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.1 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 Rechenressourcen mit Standardzugriffsmodus (früher gemeinsam genutzter Zugriffsmodus) unterstützen, da dies der empfohlene Zugriffsmodus für alle Workloads ist. Weitere Informationen finden Sie unter Zugriffsmodi. Führen Sie beim Planen von Aufträgen mit dem Modus für den freigegebenen Zugriff den Auftrag mit einem Dienstprinzipal aus.

Wichtig

Verwenden Sie Compute nur mit dediziertem Zugriffsmodus (ehemals Einzelbenutzerzugriffsmodus), wenn erforderliche Funktionen nicht vom Standardzugriffsmodus unterstützt werden. Der Modus „Kein Isolation“ für den freigegebenen Zugriff ist eine Legacykonfiguration für Databricks, die nicht empfohlen wird.

Die folgende Tabelle enthält Empfehlungen, die basierend auf der Databricks Runtime-Version und der Unity Catalog-Aktivierung organisiert sind.

Konfiguration Empfehlung
Databricks Runtime 13.3 LTS und höher mit Unity-Katalog Installieren Sie Bibliotheken auf Compute mit Standardzugriffsmodus aus Volumes von Unity Catalog mit GRANT READ für erforderliche Benutzende.
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 gibt die Kompatibilität der Databricks-Runtime-Version für Python-Raddateien für verschiedene Computezugriffsmodi basierend auf dem Speicherort der Bibliotheksquelle an. Weitere Informationen finden Sie unter Versionshinweise, Versionen und Kompatibilität von Databricks Runtime und Zugriffsmodi.

In Databricks Runtime 15.0 und höher können Sie die Python-Abhängigkeiten mithilfe von requirements.txt-Dateien verwalten. Diese Dateien können an jeden unterstützten Quellspeicherort hochgeladen werden.

Hinweis

Die Installation von Python-Egg-Dateien wird nur für Databricks Runtime 13.3 LTS und älter unterstützt und nur in dedizierten oder ohne Isolierung gemeinsam genutzten Zugriffsmodi. Darüber hinaus können Sie Python-Egg-Dateien nicht auf Volumes oder Arbeitsbereichsdateien installieren. Verwenden Sie stattdessen Python-Wheel-Dateien, oder installieren Sie Pakete aus PyPI.

Standardzugriffsmodus Dedizierter Zugriffsmodus Modus „Kein Isolation“ 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
Volumina 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 darunter 14.3 und darunter

Java- und Scala-Bibliotheksunterstützung

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

Ausführliche Informationen zum Bereitstellen von Scala JAR-Dateien auf einem Unity Catalog-fähigen Cluster im Standardzugriffsmodus finden Sie unter Deploy Scala JARs on Unity Catalog clusters. Beachten Sie, dass Klassen in JAR-Bibliotheken auf Unity-Katalog-Standardclustern in einem benannten Paket sein müssen, z. B. com.databricks.MyClass, da sonst beim Importieren der Bibliothek Fehler auftreten.

Hinweis

Für den Modus für Standardzugriff muss die Administration Maven-Koordinaten und Pfade für JAR-Bibliotheken einer allowlist hinzufügen. Weitere Informationen finden Sie unter Setzen von Bibliotheken und Inititalisierungsskripts auf Computeressourcen im Standardzugriffsmodus (ehemals freigegebener Zugriffsmodus) auf die Positivliste.

Standardzugriffsmodus Dedizierter Zugriffsmodus Modus „Kein Isolation“ für den freigegebenen Zugriff (Legacy)
Experte 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
Volumina 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 darunter 14.3 und darunter

R Bibliotheksunterstützung

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

Standardzugriffsmodus Dedizierter Zugriffsmodus Modus „Kein Isolation“ für den freigegebenen Zugriff (Legacy)
CRAN Nicht unterstützt Alle unterstützten Databricks Runtime-Versionen Alle unterstützten Databricks Runtime-Versionen

Installer-Identität

Wenn Sie eine Bibliothek aus Arbeitsbereichsdateien oder Unity-Katalogvolumes installieren, kann je nach Berechnungszugriffsmodus eine Identität der Installation zugeordnet sein. Die Identität muss Lesezugriff auf die Bibliotheksdatei haben.

Standardzugriffsmodus Dedizierter Zugriffsmodus Modus „Kein Isolation“ für den freigegebenen Zugriff (Legacy)
Die Identität des Benutzers, der die Bibliothek installiert Die Identität des engagierten Schulleiters Keine Identität

Bibliotheken im Notebookbereich

Die für Python und R verfügbaren Bibliotheken im Notebookbereich ermöglichen die Installation von Bibliotheken und die Erstellung einer Umgebung im Bereich einer Notebooksitzung. Diese Bibliotheken wirken sich nicht auf andere Notizbücher aus, die auf demselben Rechner ausgeführt werden. Bibliotheken im Notebookbereich werden nicht gespeichert und müssen für jede Sitzung neu installiert werden. Verwenden Sie notizbuch-spezifische Bibliotheken, wenn Sie eine benutzerdefinierte Umgebung für ein bestimmtes Notizbuch wünschen.

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 mit notebook-spezifischen Bibliotheken und mit Compute-Bibliotheken in Databricks Runtime 10.4 LTS und höher kompatibel. Stattdessen empfiehlt Azure Databricks, Bibliotheken direkt im Image zu installieren oder Initialisierungsskripts (init) zu verwenden. Um in diesen Szenarien weiterhin Computebibliotheken zu verwenden, können Sie die Spark-Konfigurationspark.databricks.driverNfs.clusterWidePythonLibsEnabled auf falsefestlegen. Die Unterstützung für die Spark-Konfiguration wird am oder nach dem 31. Dezember 2021 entfernt.
Python-Paketquelle Bibliotheken im Notebookbereich mit %pip Notebook-spezifische Bibliotheken mit einer YAML-Datei für die Basisumgebung Bibliotheken im Computebereich Auftragsbibliotheken mit Auftrags-API
PyPI Verwenden Sie %pip install. Siehe Beispiel Fügen Sie einen PyPI-Paketnamen zu einer YAML-Basisumgebungsdatei hinzu. Siehe Beispiel Wählen Sie PyPI als Quelle aus. Fügen Sie ein neues pypi-Objekt zu den Auftragsbibliotheken hinzu und geben Sie das Feld package an.
Private PyPI-Mirror, z. B. Nexus oder Artifactory Verwenden Sie %pip install mit der Option --index-url. Geheimnisverwaltung ist verfügbar. Siehe Beispiel Fügen Sie -–index-url einer YAML-Datei der Basisumgebung hinzu. 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 Fügen Sie einer YAML-Datei der Base-Environment eine Repository-URL als Paketnamen hinzu. 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 Fügen Sie ein Repository mit Standardauthentifizierung als Paketname zu einer YAML-Basisumgebungsdatei hinzu. Siehe Beispiel Nicht unterstützt. Nicht unterstützt.
Dateipfad Verwenden Sie %pip install. Siehe Beispiel Fügen Sie einen Dateipfad als Paketnamen zu einer YAML-Basisumgebungsdatei hinzu. Siehe Beispiel 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 Verwenden Sie %pip install zusammen mit einer vorsignierten URL. Pfade mit dem Azure Data Lake Storage-Protokoll abfss:// werden nicht unterstützt. Fügen Sie eine vorsignierte URL als Paketnamen in eine YAML-Datei für eine Basisumgebung ein. Pfade mit dem Azure Data Lake Storage-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-Pfad als Feld package an.

Rangfolge der Python-Bibliothek

Möglicherweise tritt eine Situation auf, in der Sie die Version für eine integrierte Bibliothek außer Kraft setzen müssen oder eine benutzerdefinierte Bibliothek haben, die im Namen mit einer anderen Bibliothek in Konflikt steht, die auf der Computeressource 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 Notebookbereich (%pip install in Notebooks).
  4. Computebibliotheken (die die Benutzeroberfläche, die Befehlszeilenschnittstelle oder die 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.