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.
In diesem Artikel wird gezeigt, wie Sie eine vorhandene Pipeline in ein Databricks Asset Bundles-Projekt konvertieren. Mit Bundles können Sie Ihre Azure Databricks-Datenverarbeitungskonfiguration in einer einzigen, quellgesteuerten YAML-Datei definieren und verwalten, die eine einfachere Wartung bietet und die automatisierte Bereitstellung für Zielumgebungen ermöglicht.
Übersicht über den Konvertierungsprozess
Die Schritte zum Konvertieren einer vorhandenen Pipeline in ein Bündel sind:
- Stellen Sie sicher, dass Sie Zugriff auf eine zuvor konfigurierte Pipeline haben, die Sie in ein Bundle konvertieren möchten.
- Erstellen Sie einen Ordner (vorzugsweise in einer quellcodegesteuerten Hierarchie) zum Speichern des Pakets, oder bereiten Sie einen solchen Ordner vor.
- Generieren Sie eine Konfiguration für das Bundle aus der vorhandenen Pipeline mithilfe der Azure Databricks CLI.
- Überprüfen Sie die generierte Bündelkonfiguration, um sicherzustellen, dass sie abgeschlossen ist.
- Verknüpfen Sie das Bündel mit der ursprünglichen Pipeline.
- Stellen Sie die Pipeline mithilfe der Bundlekonfiguration in einem Zielarbeitsbereich bereit.
Anforderungen
Bevor Sie beginnen können, benötigen Sie Folgendes:
- Die Databricks CLI wurde auf Ihrem lokalen Entwicklungscomputer installiert. Databricks CLI Version 0.218.0 oder höher ist erforderlich, um Databricks Asset Bundles zu verwenden.
- Die ID einer vorhandenen deklarativen Pipeline, die Sie mit einem Bundle verwalten. Informationen zum Abrufen dieser ID finden Sie unter Abrufen einer bestehenden Pipelinedefinition mithilfe der Benutzeroberfläche.
- Autorisierung für den Azure Databricks-Arbeitsbereich, in dem die vorhandene Pipeline ausgeführt wird. Informationen zum Konfigurieren der Authentifizierung und Autorisierung für Ihre Azure Databricks CLI-Aufrufe finden Sie unter Autorisieren des Zugriffs auf Azure Databricks-Ressourcen.
Schritt 1: Einrichten eines Ordners für Ihr Bundleprojekt
Sie müssen Zugriff auf ein Git-Repository haben, das in Azure Databricks als Git-Ordner konfiguriert ist. Sie erstellen Ihr Bündelprojekt in diesem Repository, das die Quellcodeverwaltung anwendet und sie anderen Mitarbeitern über einen Git-Ordner im entsprechenden Azure Databricks-Arbeitsbereich zur Verfügung stellt. (Weitere Details zu Git-Ordnern finden Sie unter Azure Databricks Git-Ordner.)
Wechseln Sie zum Stamm des geklonten Git-Repositorys auf Ihrem lokalen Computer.
Erstellen Sie an einer geeigneten Stelle in der Ordnerhierarchie einen Ordner speziell für Ihr Bündelprojekt. Beispiel:
mkdir - p ~/source/my-pipelines/ingestion/events/my-bundleÄndern Sie Ihr aktuelles Arbeitsverzeichnis in diesen neuen Ordner. Beispiel:
cd ~/source/my-pipelines/ingestion/events/my-bundleInitialisieren Sie ein neues Bundle, indem Sie Folgendes ausführen:
databricks bundle initBeantworten Sie die Eingabeaufforderungen. Nach Abschluss des Vorgangs verfügen Sie über eine Projektkonfigurationsdatei namens
databricks.ymlim neuen Startordner für Ihr Projekt. Diese Datei ist für die Bereitstellung der Pipeline über die Befehlszeile erforderlich. Weitere Informationen zu dieser Konfigurationsdatei finden Sie unter Databricks Asset Bundle-Konfiguration.
Schritt 2: Generieren der Pipelinekonfiguration
Führen Sie aus diesem neuen Verzeichnis in der Ordnerstruktur Ihres geklonten Git-Repositorys den Befehl azure Databricks CLI-Bündel generieren aus, und stellen Sie die ID Ihrer Pipeline als <pipeline-id>:
databricks bundle generate pipeline --existing-pipeline-id <pipeline-id> --profile <profile-name>
Wenn Sie den generate Befehl ausführen, wird eine Bundlekonfigurationsdatei für Ihre Pipeline im Ordner des Bundles resources erstellt und alle referenzierten Artefakte in den src Ordner heruntergeladen. Das --profile (oder -p Flag) ist optional, aber wenn Sie über ein bestimmtes Databricks-Konfigurationsprofil verfügen (definiert in Ihrer .databrickscfg Datei, die beim Installieren der Azure Databricks CLI erstellt wurde), sollten Sie es lieber anstelle des Standardprofils verwenden, in diesem Befehl angeben. Informationen zu Databricks-Konfigurationsprofilen finden Sie unter Azure Databricks-Konfigurationsprofile.
Schritt 3: Überprüfen der Bündelprojektdateien
Nach Abschluss des bundle generate Befehls werden zwei neue Ordner erstellt:
-
resourcesist das Projektunterverzeichnis, das Projektkonfigurationsdateien enthält. -
srcist der Projektordner, in dem Quelldateien wie Abfragen und Notizbücher gespeichert werden.
Mit dem Befehl werden auch einige zusätzliche Dateien erstellt:
-
*.pipeline.ymlim Unterverzeichnisresources. Diese Datei enthält die spezifische Konfiguration und Einstellungen für Ihre Pipeline. - Quelldateien wie beispielsweise SQL-Abfragen im
srcUnterverzeichnis, welche aus der bestehenden Pipeline kopiert wurden.
├── databricks.yml # Project configuration file created with the bundle init command
├── resources/
│ └── {your-pipeline-name.pipeline}.yml # Pipeline configuration
└── src/
└── {source folders and files...} # Your pipeline's declarative queries
Schritt 4: Verbinden Sie die Bundle-Pipeline mit Ihrer vorhandenen Pipeline
Sie müssen die Pipelinedefinition im Bündel mit Ihrer vorhandenen Pipeline verknüpfen oder binden, um sie beim Ändern auf dem neuesten Stand zu halten. Führen Sie dazu den Befehl bundle deployment bind command des Azure Databricks CLI aus.
databricks bundle deployment bind <pipeline-name> <pipeline-ID> --profile <profile-name>
<pipeline-name> ist der Name der Pipeline. Dieser Name sollte mit dem präfixierten Zeichenfolgenwert des Dateinamens für die Pipelinekonfiguration in Ihrem neuen resources Verzeichnis identisch sein. Wenn Sie beispielsweise über eine Pipelinekonfigurationsdatei mit dem Namen ingestion_data_pipeline.pipeline.yml in Ihrem resources Ordner verfügen, müssen Sie ingestion_data_pipeline als Pipelinenamen angeben.
<pipeline-ID> ist die ID für Ihre Pipeline. Es ist dasselbe, das Sie als Teil der Anforderungen für diese Anweisungen kopiert haben.
Schritt 5: Bereitstellen der Pipeline mithilfe Ihres neuen Pakets
Stellen Sie nun Ihr Pipeline-Bundle mithilfe des Befehls bundle deploy der Azure Databricks CLI im Zielarbeitsbereich bereit.
databricks bundle deploy --target <target-name> --profile <profile-name>
Das --target Flag ist erforderlich und muss auf eine Zeichenfolge festgelegt werden, die einem konfigurierten Zielarbeitsbereichsnamen entspricht, z. B. development oder production.
Wenn dieser Befehl erfolgreich ist, verfügen Sie jetzt über ihre Pipelinekonfiguration in einem externen Projekt, das in andere Arbeitsbereiche geladen und ausgeführt werden kann, und sie können problemlos mit anderen Azure Databricks-Benutzern in Ihrem Konto geteilt werden.
Problembehandlung
| Thema | Lösung |
|---|---|
Fehler "databricks.yml nicht gefunden" beim Ausführen von bundle generate |
Derzeit erstellt der bundle generate Befehl die Bundlekonfigurationsdatei (databricks.yml) nicht automatisch. Sie müssen die Datei mit databricks bundle init oder manuell erstellen. |
| Vorhandene Pipelineeinstellungen stimmen nicht mit den Werten in der generierten YaML-Konfiguration überein. | Die Pipeline-ID wird nicht in der YML-Datei der Bundlekonfiguration angezeigt. Wenn Sie andere fehlende Einstellungen bemerken, können Sie sie manuell anwenden. |
Tipps für Erfolg
- Verwenden Sie immer die Versionssteuerung. Wenn Sie keine Git-Ordner von Databricks verwenden, speichern Sie Ihre Projektunterverzeichnisse und Dateien in einem Git oder einem anderen versionsgesteuerten Repository oder Dateisystem.
- Testen Sie Ihre Pipeline in einer Nicht-Produktionsumgebung (z. B. einer "Entwicklungsumgebung" oder "Testumgebung") vor der Bereitstellung in einer Produktionsumgebung. Es ist einfach, versehentlich eine Fehlkonfiguration einzuführen.
Weitere Ressourcen
Weitere Informationen zur Verwendung von Bündeln zum Definieren und Verwalten der Datenverarbeitung finden Sie unter:
- Was sind Databricks Asset Bundles?
- Entwickeln Sie Lakeflow Spark Declarative Pipelines mit Databricks Asset Bundles. In diesem Thema wird das Erstellen eines Bündels für eine neue Pipeline behandelt, im Gegensatz zu einer vorhandenen, wobei Sie versionsgesteuerte Quelldateien zur Verarbeitung bereitstellen.