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.
Verwenden Sie die dbt-Aufgabe, um dbt-Projekte für Azure Databricks zu konfigurieren und auszuführen.
Important
Wenn dbt-Aufgaben ausgeführt werden, fügt Databricks das DBT_ACCESS_TOKEN für das im Feld Ausführen als konfigurierte Hauptkonto ein.
Anforderungen
Das im Feld Ausführen als konfigurierte Hauptkonto muss über Folgendes verfügen:
- CAN USE für das SQL-Warehouse, das das von dbt generierte SQL ausführt.
- Die Berechtigungen im Unity Catalog, die Ihre dbt-Modelle benötigen. Beispielsweise
USE CATALOGundUSE SCHEMAfür den Zielkatalog und das Schema sowieSELECToderMODIFYfür die Objekte, die die Modelle lesen und schreiben.
Konfigurieren einer dbt-Aufgabe
Fügen Sie eine dbt-Aufgabe auf der Registerkarte Aufgaben in der Benutzeroberfläche Jobs hinzu, indem Sie wie folgt vorgehen:
Klicken Sie auf
Aufgabe hinzufügen.
Geben Sie einen Namen in das Feld " Vorgangsname " ein.
Wählen Sie im Dropdownmenü Typ die Option
dbtaus.Im Dropdownmenü Source können Sie Workspace auswählen, um ein dbt-Projekt in einem Azure Databricks Arbeitsbereichsordner oder Git-Anbieter für ein Projekt in einem Remote-Git-Repository zu verwenden.
Wenn Sie Workspace auswählen, verwenden Sie den bereitgestellten Dateinavigator, um das Projektverzeichnis auszuwählen.
Wenn Sie Git-Anbieter auswählen, klicken Sie auf Bearbeiten, um Git-Informationen für das Projekt-Repository einzugeben. Siehe Verwenden von Git mit Lakeflow-Aufträgen.
Wenn sich Ihr Projekt nicht im Stammverzeichnis des Repositorys befindet, verwenden Sie das Project-Verzeichnisfeld , um den Pfad dafür anzugeben.
Die Textfelder für die dbt-Befehle enthalten standardmäßig die Befehle dbt deps, dbt seed und dbt run. Die bereitgestellten Befehle werden in sequenzieller Reihenfolge ausgeführt. Fügen Sie diese Felder nach Bedarf für Ihren Workflow hinzu, entfernen oder bearbeiten Sie sie. Siehe dbt-Befehle.
Wählen Sie in SQL-Warehouse ein SQL-Warehouse aus, um das von dbt generierte SQL auszuführen. Das Dropdownmenü SQL-Warehouse zeigt nur SQL-Warehouses der Ebenen „Serverless“ oder „Pro“ an.
Geben Sie einen Warehouse-Katalog an. Ist diese Option nicht gesetzt, wird die Standardeinstellung des Arbeitsbereichs verwendet.
Geben Sie ein Warehouse-Schema an. Standardmäßig wird das Schema
defaultverwendet.Wählen Sie dbt CLI-Compute aus, um dbt Core auszuführen. Databricks empfiehlt die Verwendung von serverlosem Compute für Jobs oder von klassischem Jobs Compute, der mit einem Single-Node-Cluster konfiguriert ist.
Geben Sie eine
dbt-databricksVersion für die Aufgabe an.Wenn Sie
Serverless-Compute verwenden, verwenden Sie das Feld Umgebung und Bibliotheken, um eine neue Umgebung auszuwählen, zu bearbeiten oder hinzuzufügen. Siehe Konfigurieren der serverlosen Umgebung.Bei allen anderen Compute-Konfigurationen wird das Feld Abhängige Bibliotheken standardmäßig auf
dbt-databricks>=1.0.0,<2.0.0ausgefüllt. Löschen Sie diese Einstellung und dasFügen Sie eine PyPi-Bibliothek hinzu, um eine Version anzuheften.
Note
Databricks empfiehlt, Ihre dbt-Aufgaben an eine bestimmte Version des dbt-databricks-Pakets anzuheften, um sicherzustellen, dass dieselbe Version für Entwicklungs- und Produktionsausführungen verwendet wird. Databricks empfiehlt Version 1.6.0 oder höher des dbt-databricks-Pakets.
(Optional) Informationen zum Konfigurieren von Wiederholungsversuchen, Laufzeit- oder Streaming-Backlog-Schwellenwerten oder Benachrichtigungen finden Sie unter "Erweiterte Aufgabeneinstellungen".
Klicken Sie auf Aufgabe speichern.
Informationen zum Bearbeiten, Klonen, Deaktivieren oder Löschen dieser Aufgabe finden Sie unter Konfigurieren und Bearbeiten von Aufgaben in Lakeflow-Aufträgen.
dbt-Befehle
Im Feld dbt-Befehle können Sie Befehle angeben, die über die dbt-Befehlszeilenschnittstelle (CLI) ausgeführt werden sollen. Ausführliche Informationen über die dbt CLI finden Sie in der dbt-Dokumentation..
Überprüfen Sie die dbt-Dokumentation auf Befehle, die von der angegebenen Version von dbt unterstützt werden.
Optionen an dbt-Befehle übergeben
Mit der dbt-Knotenauswahlsyntax können Sie Ressourcen angeben, die in einen bestimmten Lauf einbezogen oder ausgeschlossen werden sollen. Befehle wie run und build akzeptieren Flags einschließlich --select und --exclude. Eine vollständige Beschreibung finden Sie in der dbt-Syntaxübersicht.
Zusätzliche Konfigurationsflags steuern, wie dbt Ihr Projekt ausführt. Eine Liste der verfügbaren Flags finden Sie in der Spalte Befehlszeilenoptionen in den offiziellen dbt-Dokumenten.
Einige Flags benötigen positionelle Argumente. Einige Argumente für Flags sind Zeichenketten. Beispiele und Erläuterungen finden Sie in der dbt-Dokumentation.
Übergeben von Variablen an dbt-Befehle
Verwenden Sie das --vars-Flag, um statische oder dynamische Werte an Befehle in dbt-Befehlsfeldern zu übergeben.
Sie übergeben ein durch einfache Anführungszeichen getrenntes JSON an --vars. Alle Schlüssel und Werte im JSON müssen durch doppelte Anführungszeichen getrennt sein, wie im folgenden Beispiel:
dbt run --vars '{"volume_path": "/Volumes/path/to/data", "date": "2024/08/16"}'
Beispiele für parametrisierte dbt-Befehle
Bei der Arbeit mit dbt können Sie auf Aufgabenwerte, Auftragsparameter und dynamische Auftragsparameter verweisen. Die Werte werden als Klartext in das Feld für dbt commands eingetragen, bevor der Befehl ausgeführt wird. Informationen zur Weitergabe von Werten zwischen Aufgaben oder zum Verweis auf Auftragsmetadaten finden Sie unter Aufträge parametrisieren.
In diesen Beispielen wird davon ausgegangen, dass die folgenden Auftragsparameter konfiguriert wurden:
| Parametername | Parameterwert |
|---|---|
volume_path |
/Volumes/path/to/data |
table_name |
my_table |
select_clause |
--select "tag:nightly" |
dbt_refresh |
--full-refresh |
Die folgenden Beispiele zeigen gültige Möglichkeiten, auf diese Parameter zu verweisen:
dbt run '{"volume_path": "{{job.parameters.volume_path}}"}'
dbt run --select "{{job.parameters.table_name}}"
dbt run {{job.parameters.select_clause}}
dbt run {{job.parameters.dbt_refresh}}
dbt run '{"volume_path": "{{job.parameters.volume_path}}"}' {{job.parameters.dbt_refresh}}
Sie können auch auf dynamische Parameter und Aufgabenwerte verweisen, wie in den folgenden Beispielen:
dbt run --vars '{"date": "{{job.start_time.iso_date}}"}'
dbt run --vars '{"sales_count": "{{tasks.sales_task.values.sales_count}}"}'
Weitere Ressourcen
- Ein Beispiel dafür, wie die Ausgabe und Artefakte einer dbt-Aufgabe nach einem Lauf abgerufen werden können, finden Sie unter Auf dbt-Aufgabenausgabe und Artefakte zugreifen.
- Verwenden Sie zum Debuggen des von dbt generierten SQL den Abfrageverlauf des SQL Warehouse. Weitere Informationen finden Sie unter Abfrageverlauf.