Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
- Paketrepository wie PyPI, Maven oder CRAN
- Arbeitsbereichsdateien
- Unity Catalog-Volumes
- Cloudobjekt-Speicherort
- Pfad auf Ihrem lokalen Computer
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-Konfiguration
spark.databricks.driverNfs.clusterWidePythonLibsEnabled
auffalse
festlegen. 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.
- Bibliotheken im aktuellen Arbeitsverzeichnis (nur Git-Ordner)
- Bibliotheken im Stammverzeichnis des Git-Ordners (nur Git-Ordner)
- Bibliotheken im Notebookbereich (
%pip install
in Notebooks). - Computebibliotheken (die die Benutzeroberfläche, die Befehlszeilenschnittstelle oder die API verwenden).
- 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.
- Bibliotheken im aktuellen Arbeitsverzeichnis (nicht in Git-Ordnern)
- Arbeitsbereichsdateien, die an
sys.path
angefügt sind.