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.
Sie können Databricks Asset Bundles, databricks CLI und das Databricks MLOps Stack Repository auf GitHub verwenden, um MLOps-Stapel zu erstellen. Ein MLOps Stack ist ein MLOps-Projekt auf Azure Databricks, das von vornherein Produktionsbestpractices befolgt. Weitere Informationen finden Sie unter Was sind Databricks-Ressourcenpakete?.
Hier erfahren Sie, wie Sie ein MLOps Stacks-Bundleprojekt erstellen, bereitstellen und ausführen.
Anforderungen
- Stellen Sie sicher, dass im gewünschten Remotearbeitsbereich Arbeitsbereichsdateien aktiviert sind. Weitere Informationen finden Sie unter Was sind Arbeitsbereichsdateien?.
- Stellen Sie auf Ihrem Entwicklungscomputer sicher, dass die Databricks CLI-Version 0.212.2 oder höher installiert ist. Um die installierte Databricks-CLI-Version zu überprüfen, führen Sie den Befehl
databricks -vaus. Informationen zum Aktualisieren von Databricks CLI-Version finden Sie unter Installieren oder Aktualisieren der Databricks CLI. (Bundles funktionieren nicht mit Version 0.18 oder niedrigeren Versionen der Databricks-Befehlszeilenschnittstelle.)
Schritt 1: Einrichten der Authentifizierung
Konfigurieren der Databricks-CLI für die Authentifizierung.
In diesem Artikel wird davon ausgegangen, dass Sie zur Authentifizierung die U2M-Authentifizierung von OAuth (User-to-Machine) und ein entsprechendes Azure Databricks-Konfigurationsprofil namens DEFAULT verwenden möchten.
Hinweis
Die U2M-Authentifizierung eignet sich für das Testen dieser Schritte in Echtzeit. Bei vollständig automatisierten Workflows empfiehlt Databricks stattdessen die Verwendung der OAuth-M2M-Authentifizierung (Machine-to-Machine, Computer-zu-Computer). Lesen Sie die Anweisungen zum Einrichten der M2M-Authentifizierung unter Autorisieren des Dienstprinzipalzugriffs auf Azure Databricks mit OAuth.
Verwenden Sie die Databricks CLI, um die OAuth-Tokenverwaltung lokal zu initiieren, indem Sie den folgenden Befehl für jeden Zielarbeitsbereich ausführen.
Ersetzen Sie
<workspace-url>im folgenden Befehl durch Ihre arbeitsbereichsspezifische Azure Databricks-URL, z. B.https://adb-1234567890123456.7.azuredatabricks.net.databricks auth login --host <workspace-url>Die Databricks-CLI fordert Sie auf, die von Ihnen eingegebenen Informationen als Azure Databricks-Konfigurationsprofil zu speichern. Drücken Sie die EINGABETASTE (
Enter), um den vorgeschlagenen Profilnamen zu übernehmen, oder geben Sie den Namen eines neuen oder bereits vorhandenen Profils ein. Ist bereits ein Profil mit dem gleichen Namen vorhanden, wird es mit den von Ihnen eingegebenen Informationen überschrieben. Sie können Profile verwenden, um Ihren Authentifizierungskontext schnell über mehrere Arbeitsbereiche hinweg zu wechseln.Um eine Liste vorhandener Profile abzurufen, führen Sie in der Databricks-CLI den Befehl
databricks auth profilesin einem separaten Terminal oder in einer separaten Eingabeaufforderung aus. Um die vorhandenen Einstellungen eines bestimmten Profils anzuzeigen, führen Sie den Befehldatabricks auth env --profile <profile-name>aus.Führen Sie in Ihrem Webbrowser die Anweisungen auf dem Bildschirm aus, um sich bei Ihrem Azure Databricks-Arbeitsbereich anzumelden.
Um den aktuellen OAuth-Tokenwert eines Profils und den bevorstehenden Ablaufzeitstempel eines Profils anzuzeigen, führen Sie einen der folgenden Befehle aus:
databricks auth token --host <workspace-url>databricks auth token -p <profile-name>databricks auth token --host <workspace-url> -p <profile-name>
Wenn Sie über mehrere Profile mit demselben
--host-Wert verfügen, müssen Sie möglicherweise die Optionen--hostund-pzusammen angeben, damit die Databricks CLI die richtigen übereinstimmenden Informationen des OAuth-Tokens ermitteln kann.
Schritt 2: Erstellen des Bundleprojekts
Verwenden Sie Databricks Asset Bundle-Vorlagen , um die Startdateien Ihres MLOps Stacks-Projekts zu erstellen. Führen Sie dazu zunächst den folgenden Befehl aus:
databricks bundle init mlops-stacksBeantworten Sie die Prompts auf dem Bildschirm. Eine Anleitung zum Angeben der Informationen für diese Eingabeaufforderungen finden Sie unter Starten eines neuen Projekts im Databricks MLOps Stacks-Repository auf GitHub.
Die erste Eingabeaufforderung bietet die Möglichkeit, die ML-Codekomponenten, die CI/CD-Komponenten oder beides einzurichten. Diese Option vereinfacht das anfängliche Setup, da Sie nur die Komponenten erstellen können, die sofort relevant sind. (Führen Sie den Initialisierungsbefehl erneut aus, um die anderen Komponenten einzurichten.) Wählen Sie eines der folgenden Szenarien aus:
-
CICD_and_Project(Standard) – Sowohl ML-Code als auch CI/CD-Komponenten einrichten. -
Project_Only– Nur ML-Codekomponenten einrichten. Diese Option ist für Datenanalysten zum Einstieg gedacht. -
CICD_Only- Nur die CI/CD-Komponenten einrichten. Diese Option dient ML-Ingenieuren zum Einrichten einer Infrastruktur.
Nachdem Sie alle Eingabeaufforderungen auf dem Bildschirm beantwortet haben, erstellt die Vorlage die Startdateien ihres MLOps Stacks-Projekts und fügt sie ihrem aktuellen Arbeitsverzeichnis hinzu.
-
Passen Sie die Startdateien Ihres MLOps Stacks-Projekts nach Bedarf an. Befolgen Sie hierzu die Anleitungen in den folgenden Dateien in Ihrem neuen Projekt:
Rolle Ziel Doktoren Erstmalige Benutzer*innen dieses Repositorys Grundlegendes zur ML-Pipeline und -Codestruktur in diesem Repository README.mdDatenwissenschaftler Erste Schritte beim Schreiben von ML-Code für ein brandneues Projekt <project-name>/README.mdDatenwissenschaftler Aktualisieren von ML-Produktionscode (z. B. Modelltrainingslogik) für ein vorhandenes Projekt docs/ml-pull-request.mdDatenwissenschaftler Ändern von ML-Ressourcen für das Produktionsmodell (z. B. Modelltrainings- oder Rückschlussaufträge) <project-name>/resources/README.mdMLOps/DevOps Einrichten von CI/CD für das aktuelle ML-Projekt docs/mlops-setup.mdZur Anpassung von Experimenten entsprechen die Zuordnungen innerhalb einer Experimentdeklaration der Anforderungspayload des Vorgehens zum Erstellen von Experimenten, wie definiert in POST /api/2.0/mlflow/experiments/create im REST-API-Referenz und im YAML-Format ausgedrückt.
Zum Anpassen von Aufträgen entsprechen die Zuordnungen innerhalb einer Auftragsdeklaration der Anforderungsnutzlast des Erstellungsvorgangs gemäß der Definition in POST /api/2.1/jobs/create im REST-API-Verweis, ausgedrückt im YAML-Format.
Tipp
Sie können die Einstellungen für neue Auftragscluster in Bundles definieren, kombinieren und überschreiben, indem Sie die unter Überschreiben mit Zieleinstellungen beschriebenen Techniken verwenden.
Zum Anpassen von Modellen entsprechen die Zuordnungen innerhalb einer Modelldeklaration der Anforderungsnutzlast der Anforderung zur Erstellung eines Unity-Katalogmodells gemäß der Definition im POST /api/2.1/unity-catalog/models in der REST-API-Referenz, ausgedrückt im YAML-Format.
Zum Anpassen von Pipelines entsprechen die Zuordnungen innerhalb einer Pipelinedeklaration der Anforderungsnutzlast des Erstellungsvorgangs gemäß der Definition in POST /api/2.0/pipelines im REST-API-Verweis, ausgedrückt im YAML-Format.
Schritt 3: Überprüfen des Bundleprojekts
Überprüfen Sie, ob die Bundlekonfiguration gültig ist. Führen Sie dazu die Databricks CLI aus dem Stammverzeichnis des Projekts aus, wo sich die databricks.yml Datei befindet, wie folgt aus:
databricks bundle validate
Wenn eine Zusammenfassung der Bundlekonfiguration zurückgegeben wird, war die Prüfung erfolgreich. Wenn Fehler zurückgegeben werden, müssen Sie sie beheben und dann diesen Schritt wiederholen.
Schritt 4: Bereitstellen des Pakets
Stellen Sie die Ressourcen und Artefakte des Projekts im gewünschten Remotearbeitsbereich bereit. Führen Sie dazu die Databricks CLI aus dem Stammverzeichnis des Projekts aus, wo sich die databricks.yml Datei befindet, wie folgt aus:
databricks bundle deploy -t <target-name>
Ersetzen Sie <target-name> durch den Namen des gewünschten Ziels in der Datei databricks.yml, z. B. dev, test, staging oder prod.
Schritt 5: Ausführen des bereitgestellten Bundles
Die Aufträge des Projekts werden automatisch nach ihren vordefinierten Zeitplänen ausgeführt. Um einen bereitgestellten Auftrag sofort auszuführen, führen Sie die Databricks CLI aus dem Stammverzeichnis des Projekts aus, in dem sich databricks.yml befindet, wie folgt:
databricks bundle run -t <target-name> <job-name>
- Ersetzen Sie
<target-name>durch den Namen des gewünschten Ziels in der Dateidatabricks.yml, in der der Auftrag bereitgestellt wurde, z. B.dev,test,stagingoderprod. - Ersetzen Sie
<job-name>durch den Namen des Auftrags in einer der.yml-Dateien in<project-name>/databricks-resources, z. B.batch_inference_job,write_feature_table_jobodermodel_training_job.
Es wird ein Link zum Azure Databricks-Auftrag angezeigt, den Sie in Ihren Webbrowser kopieren können, um den Auftrag auf der Azure Databricks-Benutzeroberfläche zu öffnen.
Schritt 6: Löschen des bereitgestellten Bundles (optional)
Um die Ressourcen und Artefakte eines bereitgestellten Projekts zu löschen, wenn Sie sie nicht mehr benötigen, führen Sie die Databricks CLI aus dem Stamm des Projekts aus, wo sich die databricks.yml Datei befindet, wie folgt:
databricks bundle destroy -t <target-name>
Ersetzen Sie <target-name> durch den Namen des gewünschten Ziels in der Datei databricks.yml, z. B. dev, test, staging oder prod.
Geben Sie bei den Bildschirmaufforderungen die entsprechenden Informationen ein, um das Löschen der zuvor bereitgestellten Ressourcen und Artefakte zu bestätigen.