Installieren von Bibliotheken aus einem Paketrepository

Azure Databricks bietet Tools zum Installieren von Bibliotheken aus PyPI-, Maven- und CRAN-Paketrepositorys. Ausführliche Informationen zur Kompatibilität der Bibliothek finden Sie unter Cluster-bezogene 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.

PyPI-Paket

  1. Wählen Sie in der Schaltflächenliste Bibliotheksquelle die Option PyPI aus.

  2. Geben Sie einen PyPI-Paketnamen ein. Um eine bestimmte Version einer Bibliothek zu installieren, verwenden Sie dieses Format für die Bibliothek: <library>==<version>. Beispiel: scikit-learn==0.19.1.

    Hinweis

    Für Aufträge empfiehlt Databricks die Angabe einer Bibliotheksversion, um sicherzustellen, dass sich die Umgebung reproduzieren lässt. Wenn die Bibliotheksversion nicht vollständig angegeben ist, verwendet Databricks die neueste übereinstimmende Version. Dies bedeutet, dass bei verschiedenen Ausführungen desselben Auftrags unterschiedliche Bibliotheksversionen verwendet werden können, wenn neue Versionen veröffentlicht werden. Das Angeben der Bibliotheksversion verhindert, dass Ihre Aufträge durch neue Breaking Changes unterbrochen werden.

  3. (Optional) Geben Sie im Feld „Index-URL“ eine PyPI-Index-URL ein.

  4. Klicke auf Installieren.

Maven- oder Spark-Paket

Wichtig

Zum Installieren von Maven-Bibliotheken auf Computeressourcen, die mit dem Modus für gemeinsamen Zugriff konfiguriert sind, müssen Sie die Koordinaten der Positivliste hinzufügen. Weitere Informationen finden Sie unter Positivliste von Bibliotheken und Initialisierungsskripts auf freigegebenem Compute.

Wichtig

Für DBR 14.3 LTS und früher verwendet Databricks Apache Ivy 2.4.0, um Maven-Pakete aufzulösen. Für DBR 15.0 und höher verwendet Databricks Ivy 2.5.1 oder höher. Die jeweilige Ivy-Version wird in den Versionshinweisen von Databricks Runtime unter „Versionen und Kompatibilität“ aufgeführt.

Die Installationsreihenfolge von Maven-Paketen kann sich auf die endgültige Abhängigkeitsstruktur auswirken und damit die Reihenfolge beeinflussen, in der Bibliotheken geladen werden.

  1. Wählen Sie in der Schaltflächenliste Bibliotheksquelle die Option Maven aus.

  2. Geben Sie eine Maven-Koordinate an. Führen Sie eines der folgenden Verfahren aus:

    • Geben Sie im Feld „Koordinate“ die Maven-Koordinate der zu installierende Bibliothek ein. Maven-Koordinaten haben beispielsweise das Format groupId:artifactId:versioncom.databricks:spark-avro_2.10:1.0.0.
    • Wenn Sie die genaue Koordinate nicht kennen, geben Sie den Bibliotheksnamen ein und klicken Sie auf Pakete suchen. Eine Liste übereinstimmender Pakete wird angezeigt. Um Details zu einem Paket anzuzeigen, klicken Sie auf seinen Namen. Sie können Pakete nach Name, Organisation und Bewertung sortieren. Sie können die Ergebnisse auch filtern, indem Sie eine Abfrage in die Suchleiste schreiben. Die Ergebnisse werden automatisch aktualisiert.
      1. Wählen Sie in der Dropdownliste oben links Maven Central oder Spark-Pakete aus.
      2. Wählen Sie optional die Paketversion in der Spalte „Releases“ aus.
      3. Klicken Sie neben einem Paket auf + Auswählen. Das Feld „Koordinate“ wird mit dem ausgewählten Paket und der ausgewählten Version ausgefüllt.
  3. (Optional) Im Feld „Repository“ können Sie eine Maven-Repository-URL eingeben.

    Hinweis

    Interne Maven-Repositorys werden nicht unterstützt.

  4. Geben Sie im Feld Ausschlüsse optional groupId und artifactId der Abhängigkeiten an, die Sie ausschließen möchten (z. B. log4j:log4j).

    Hinweis

    Maven funktioniert mithilfe der dem Stamm nächstgelegenen Version, und wenn zwei Pakete mit konkurrierenden Versionen und unterschiedlichen Abhängigkeiten vorhanden sind, ist die Reihenfolge wichtig. Daher kann es zu Fehlern kommen, wenn das Paket mit einer älteren Abhängigkeit zuerst geladen wird.

    Um dies zu umgehen, schließen Sie die in Konflikt stehende Bibliothek aus. Wenn Sie beispielsweise das Paket mit der Koordinate com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.22 installieren, legen Sie das Feld Ausschlüsse auf com.nimbusds:oauth2-oidc-sdk:RELEASE fest, damit die neueste Version von eventhubs aus MSAL4J geladen wird und die Abhängigkeit eventhubs erfüllt ist.

  5. Klicke auf Installieren.

CRAN-Paket

  1. Wählen Sie in der Schaltflächenliste Bibliotheksquelle die Option CRAN aus.
  2. Geben Sie im Feld „Paket“ den Namen des Pakets ein.
  3. (Optional) Im Feld „Repository“ können Sie optional die CRAN-Repository-URL eingeben.
  4. Klicke auf Installieren.

Hinweis

CRAN-Spiegel stellen die neueste Version einer Bibliothek zur Verfügung. Daher können unterschiedliche Versionen eines R-Pakets auftreten, wenn Sie die Bibliothek zu unterschiedlichen Zeiten an verschiedene Cluster anfügen. Informationen zum Verwalten und Beheben von R-Paketversionen in Databricks finden Sie in der Wissensdatenbank.