Installieren von Notebook-Abhängigkeiten
Sie können Python-Abhängigkeiten für serverlose Notebooks mithilfe des Seitenbereichs Umgebung installieren. In diesem Bereich können Sie die Bibliotheksanforderungen eines Notebooks an einer einzigen Stelle bearbeiten, anzeigen und exportieren. Diese Abhängigkeiten können mithilfe einer Basisumgebung oder einzeln hinzugefügt werden.
Informationen zu Aufgaben, die nichts mit Notebooks zu tun haben, finden Sie unter Konfigurieren von Umgebungen und Abhängigkeiten für Nicht-Notebookaufgaben.
Wichtig
Installieren Sie weder PySpark noch Bibliotheken, die PySpark als Abhängigkeit installieren, in Ihren serverlosen Notebooks. Andernfalls wird Ihre Sitzung mit einem Fehler beendet. Entfernen Sie in diesem Fall die Bibliothek, und setzen Sie Ihre Umgebung zurück.
Konfigurieren einer Basisumgebung
Eine Basisumgebung ist eine als Arbeitsbereichsdatei oder auf einem Unity Catalog-Volume gespeicherte YAML-Datei, die zusätzliche Umgebungsabhängigkeiten angibt. Basisumgebungen können von mehreren Notebooks gemeinsam genutzt werden. So konfigurieren Sie eine Basisumgebung
Erstellen Sie eine YAML-Datei, die Einstellungen für eine virtuelle Python-Umgebung definiert. Im folgenden Beispiel für YAML, das auf der Umgebungsspezifikation für MLflow-Projektebasiert, wird eine Basisumgebung mit einigen wenigen Bibliotheksabhängigkeiten definiert:
client: "1" dependencies: - --index-url https://pypi.org/simple - -r "/Workspace/Shared/requirements.txt" - my-library==6.1 - "/Workspace/Shared/Path/To/simplejson-3.19.3-py3-none-any.whl" - git+https://github.com/databricks/databricks-cli
Laden Sie die YAML-Datei als Arbeitsbereichsdatei oder in ein Unity Catalog-Volume hoch. Weitere Informationen finden Sie unter Importieren einer Datei bzw. unter Hochladen von Dateien auf ein Unity Catalog-Volume.
Klicken Sie rechts neben dem Notebook auf die Schaltfläche
, um den Seitenbereich Umgebung zu erweitern. Diese Schaltfläche wird nur angezeigt, wenn ein Notebook mit serverlosem Computing verbunden ist.
Geben Sie im Feld Basisumgebung den Pfad der hochgeladenen YAML-Datei ein, oder navigieren Sie zu der Datei, und wählen Sie sie aus.
Klicken Sie auf Anwenden. Dadurch werden die Abhängigkeiten in der virtuellen Notebookumgebung installiert, und der Python-Prozess wird neu gestartet.
Benutzer können Abhängigkeiten einzeln installieren, um die in der Basisumgebung angegebenen Abhängigkeiten zu überschreiben.
Konfigurieren der Notizbuchumgebung
Abhängigkeiten für ein Notebook, das mit serverlosem Computing verbunden ist, können auch über den Seitenbereich Umgebung installiert werden:
- Klicken Sie rechts neben dem Notebook auf die Schaltfläche
, um den Seitenbereich Umgebung zu erweitern. Diese Schaltfläche wird nur angezeigt, wenn ein Notebook mit serverlosem Computing verbunden ist.
- Wählen Sie in der Dropdownliste Umgebungsversion die Umgebungsversion aus. Weitere Informationen finden Sie unter Versionen der serverlosen Umgebung. Databricks empfiehlt die Auswahl der neuesten Version, um die aktuellsten Notizbuchfeatures zu erhalten.
- Klicken Sie im Abschnitt Abhängigkeiten auf Abhängigkeit hinzufügen, und geben Sie den Pfad der Bibliotheksabhängigkeit in das Feld ein. Sie können eine Abhängigkeit in einem beliebigen Format angeben, das in einer Datei vom Typ requirements.txt gültig ist.
- Klicken Sie auf Anwenden. Dadurch werden die Abhängigkeiten in der virtuellen Notebookumgebung installiert, und der Python-Prozess wird neu gestartet.
Hinweis
Bei einem Auftrag, der serverloses Computing verwendet, wird erst die Umgebungsspezifikation des Notebooks installiert und dann der Notebookcode ausgeführt. Dadurch müssen keine Abhängigkeiten hinzugefügt werden, wenn Notebooks als Aufträge geplant werden. Weitere Informationen finden Sie unter Konfigurieren von Umgebungen und Abhängigkeiten.
Anzeigen installierter Abhängigkeiten und pip-Protokolle
Um installierte Abhängigkeiten anzuzeigen, klicken Sie im Bereich Umgebungen für ein Notebook auf Installiert. Pip-Installationsprotokolle für die Notebook-Umgebung sind auch verfügbar, indem Sie im unteren Bereich auf Pip-Protokolle klicken.
Zurücksetzen der Umgebung
Wenn Ihr Notebook mit serverlosem Computing verbunden ist, speichert Databricks automatisch den Inhalt der virtuellen Umgebung des Notebooks zwischen. Dies bedeutet, dass Sie die im Environment Seitenbereich angegebenen Python-Abhängigkeiten im Allgemeinen nicht neu installieren müssen, wenn Sie ein vorhandenes Notizbuch öffnen, auch wenn es aufgrund von Inaktivität getrennt wurde.
Die Zwischenspeicherung virtueller Python-Umgebungen wird auch für Aufträge verwendet. Wenn ein Auftrag ausgeführt wird, ist jede Aufgabe des Auftrags, die denselben Satz von Abhängigkeiten wie eine abgeschlossene Aufgabe in diesem Durchlauf teilt, schneller, da benötigte Abhängigkeiten bereits verfügbar sind.
Hinweis
Wenn Sie die Implementierung eines benutzerdefinierten Python-Pakets ändern, das in einem Auftrag ohne Server verwendet wird, müssen Sie auch die Versionsnummer aktualisieren, damit Aufträge die neueste Implementierung aufnehmen können.
Um den Umgebungscache zu löschen und die Abhängigkeiten neu zu installieren, die im Seitenbereich Umgebung eines Notebooks angegeben sind, das an serverloses Computing angefügt ist, klicken Sie auf den Pfeil neben Anwenden, und klicken Sie anschließend auf Umgebung zurücksetzen.
Hinweis
Setzen Sie die virtuelle Umgebung zurück, wenn Sie Pakete installieren, die das zentrale Notebook oder die Apache Spark-Umgebung unterbrechen oder ändern. Wenn Sie das Notebook vom serverlosen Computing trennen und erneut anfügen, wird nicht unbedingt der gesamte Umgebungscache gelöscht. Durch das Zurücksetzen der Umgebung werden alle Abhängigkeiten, die im Seitenbereich Umgebung angegeben sind, neu installiert. Stellen Sie daher sicher, dass problematische Pakete vor dem Zurücksetzen entfernt werden.
Konfigurieren von Umgebungen und Abhängigkeiten für Nicht-Notebookaufgaben
Für andere unterstützte Aufgabentypen, z. B. Python-Skripts, Python-Wheels oder dbt-Aufgaben, enthält eine Standardumgebung installierte Python-Bibliotheken. Informationen zur Liste der installierten Bibliotheken finden Sie im Abschnitt "Installierte Python-Bibliotheken " der verwendeten Clientversion. Weitere Informationen finden Sie unter Versionen der serverlosen Umgebung. Wenn eine Aufgabe eine nicht installierte Python-Bibliothek erfordert, können Sie die Bibliothek aus Arbeitsbereichsdateien, Unity-Katalogvolumes oder öffentlichen Paketrepositorys installieren. So fügen Sie beim Erstellen oder Bearbeiten einer Aufgabe eine Bibliothek hinzu
Wählen Sie im Dropdownmenü Umgebung und Bibliotheken neben der
Standardumgebung das Symbol oder + Neue Umgebung hinzufügen aus.
Wählen Sie in der Dropdownliste Umgebungsversion die Umgebungsversion aus. Weitere Informationen finden Sie unter Versionen der serverlosen Umgebung. Databricks empfiehlt die Auswahl der neuesten Version, um die aktuellsten Features zu erhalten.
Wählen Sie im Dialogfeld Umgebung konfigurieren die Option + Bibliothek hinzufügen aus.
Wählen Sie im Dropdownmenü unter Bibliotheken den Typ der Abhängigkeit aus.
Geben Sie im Textfeld Dateipfad den Pfad zur Bibliothek ein.
Für ein Python-Wheel in einer Arbeitsbereichsdatei sollte der Pfad absolut sein und mit
/Workspace/
beginnen.Für ein Python-Wheel in einem Unity Catalog-Volume sollte der Pfad
/Volumes/<catalog>/<schema>/<volume>/<path>.whl
lauten.Wählen Sie für eine Datei
requirements.txt
die Option „PyPi“ aus, und geben Sie-r /path/to/requirements.txt
ein.
- Wählen Sie Bestätigen oder + Bibliothek hinzufügen aus, um eine weitere Bibliothek hinzuzufügen.
- Wenn Sie eine Aufgabe hinzufügen, wählen Sie Aufgabe erstellen aus. Wenn Sie eine Aufgabe bearbeiten, wählen Sie Aufgabe speichern aus.
Konfigurieren von Standardmäßigen Python-Paketrepositorys
Administrierende können private oder authentifizierte Paketrepositorys in Arbeitsbereichen als Standard-pip-Konfiguration für serverlose Notebooks und serverlose Aufträge konfigurieren. Auf diese Weise können Benutzer Pakete aus internen Python-Repositorys installieren, ohne index-url
oder extra-index-url
explizit zu definieren. Wenn diese Werte jedoch im Code oder in einem Notizbuch angegeben sind, haben sie Vorrang vor den Standardwerten des Arbeitsbereichs.
Diese Konfiguration nutzt Databricks-Geheimschlüssel, um Repository-URLs und Anmeldeinformationen sicher zu speichern und zu verwalten. Administrierende können das Setup über die Seite mit den Administratoreinstellungen des Arbeitsbereichs, mithilfe eines vordefinierten Geheimnisbereichs und der secrets-Befehle der Databricks-Befehlszeilenschnittstelle oder der REST-APIkonfigurieren.
Einrichten mithilfe der Seite "Arbeitsbereichsadministratoreinstellungen"
Arbeitsbereichsadministratoren können die standardmäßigen Python-Paketrepositorys mithilfe der Seite "Arbeitsbereichsadministratoreinstellungen" hinzufügen oder entfernen.
- Melden Sie sich als Arbeitsbereichsadministrator beim Databricks-Arbeitsbereich an.
- Klicken Sie in der oberen Leiste des Databricks-Arbeitsbereichs auf Ihren Benutzernamen, und wählen Sie Einstellungenaus.
- Klicken Sie auf die Registerkarte Compute.
- Klicken Sie neben Standardpaketrepositorys auf Verwalten.
- (Optional) Hinzufügen oder Entfernen einer Index-URL, zusätzlicher Index-URLs oder eines benutzerdefinierten SSL-Zertifikats.
- Klicken Sie zum Speichern der Änderungen auf Speichern.
Hinweis
Änderungen oder Löschungen von Geheimnissen werden angewendet, nachdem serverloses Computing erneut an Notebooks angefügt wurde oder die serverlosen Aufträge erneut ausgeführt wurden.
Einrichten mithilfe der geheimen CLI- oder REST-API
Um standardmäßige Python-Paketrepositorys mithilfe der CLI- oder REST-API zu konfigurieren, erstellen Sie einen vordefinierten geheimen Bereich und konfigurieren Sie Zugriffsberechtigungen, und fügen Sie dann die geheimen Paketrepositorys hinzu.
Vordefinierter geheimer Bereichsname
Arbeitsbereichsadministratoren können standardmäßige Pip-Index-URLs oder zusätzliche Index-URLs zusammen mit Authentifizierungstoken und geheimen Schlüsseln in einem bestimmten geheimen Bereich unter vordefinierten Schlüsseln festlegen:
- Der Name des Geheimnisbereichs:
databricks-package-management
- Geheimer Schlüssel für die Index-URL:
pip-index-url
- Geheimer Schlüssel für zusätzliche Index-URLs:
pip-extra-index-urls
- Geheimer Schlüssel für SSL-Zertifizierungsinhalte:
pip-cert
Erstellen des Geheimnisbereichs
Ein Secret Scope kann mithilfe von Databricks CLI--Geheimbefehlen oder der -REST APIerstellt werden. Konfigurieren Sie nach dem Erstellen des geheimen Bereichs Zugriffssteuerungslisten, um allen Arbeitsbereichsbenutzern Lesezugriff zu gewähren. Dadurch wird sichergestellt, dass das Repository sicher bleibt und von einzelnen Benutzern nicht geändert werden kann. Der Secret Scope muss den vordefinierten Secret Scope Namen databricks-package-management
verwenden.
databricks secrets create-scope databricks-package-management
databricks secrets put-acl databricks-package-management admins MANAGE
databricks secrets put-acl databricks-package-management users READ
Hinzufügen geheime Schlüssel für das Python-Paket-Repository
Fügen Sie die Python-Paket-Repositorydetails mithilfe der vordefinierten Schlüsselnamen hinzu, wobei alle drei Felder optional sind.
# Add index URL.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-index-url", "string_value":"<index-url-value>"}'
# Add extra index URLs. If you have multiple extra index URLs, separate them using white space.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-extra-index-urls", "string_value":"<extra-index-url-1 extra-index-url-2>"}'
# Add cert content. If you want to pip configure a custom SSL certificate, put the cert file content here.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-cert", "string_value":"<cert-content>"}'
Ändern oder Löschen privater PyPI-Repositoryschlüssel
Zum Ändern von PyPI-Repositoryschlüsseln verwenden Sie den Befehl put-secret
. Um geheime PyPI-Repositoryschlüssel zu löschen, verwenden Sie delete-secret
wie unten dargestellt:
# delete secret
databricks secrets delete-secret databricks-package-management pip-index-url
databricks secrets delete-secret databricks-package-management pip-extra-index-urls
databricks secrets delete-secret databricks-package-management pip-cert
# delete scope
databricks secrets delete-scope databricks-package-management