dbt-Projekte in Snowflake¶
dbt Core ist ein Open-Source-Datentransformationstool und -Framework, das Sie zum Definieren, Testen und Bereitstellen von SQL-Transformationen verwenden können.
Mit dbt Projects on Snowflake können Sie vertraute Snowflake-Features verwenden, um Ihre dbt Core-Projekte in der Regel wie folgt zu erstellen, zu bearbeiten, zu testen, auszuführen und zu verwalten:
Mit einem gültigen dbt-Projekt beginnen: (Mit
dbt_project.yml,profile.yml,/models/....) Dieses wird entweder in einem Arbeitsbereich in Snowsight oder in einem Git-Repository gespeichert, das Sie mit Snowflake verbunden haben. Bereiten Sie eine Datenbank, ein Schema und ein Warehouse mit einer Rolle vor, die über die erforderlichen Berechtigungen verfügt.Abhängigkeiten installieren: Führen Sie den Befehl
dbt depsinnerhalb eines Snowflake-Arbeitsbereichs, eines lokalen Rechners oder eines Git-Orchestrators aus, um den Ordnerdbt_packagesfür Ihr dbt-Projekt auszufüllen.Weitere Informationen dazu finden Sie unter Erläuterungen zu den Abhängigkeiten von dbt-Projekten auf Snowflake.
DBT PROJECT-Objekt bereitstellen: Erstellen Sie ein DBT PROJECT-Objekt auf Schemaebene, indem Sie Ihre Projektdateien in eine neue Version dieses Objekts kopieren. Verwenden Sie hierfür den Befehl CREATE OR REPLACE DBT PROJECT … FROM <source> oder
snow dbt deploySnowflake CLI.Weitere Informationen dazu finden Sie unter Bereitstellen von dbt-Projektobjekten.
dbt-Projekt in Snowflake ausführen: Führen Sie ein dbt Core-Projekt innerhalb eines dbt-Projektobjekts unter Verwendung des Befehls EXECUTE DBT PROJECT oder des Befehls
snow dbt executeSnowflake CLI aus. Die Ausführung eines dbt-Projekts beinhaltet das Aufrufen von dbt Core-Befehlen zum Erstellen oder Testen von Modellen. Dies ist das, was Sie planen und orchestrieren.For more information, see EXECUTE DBT PROJECT.
Mit Snowflake-Aufgaben planen: Verwenden Sie Snowflake-Aufgaben, um dbt-Projektausführungen zu planen und zu orchestrieren.
Weitere Informationen dazu finden Sie unter Planen der Ausführung von dbt-Projekten in Snowflake.
CI/CD-Integrationen einrichten: Verwenden Sie Snowflake CLI-Befehle, um die Bereitstellung und Ausführung in Ihre CI/CD-Workflows zu integrieren.
dbt-Projektobjekte unterstützen Snowflake-CLI-Befehle, mit denen Sie dbt-Projekte über die Befehlszeile erstellen und verwalten können. Dies ist hilfreich bei der Integration von dbt-Projekten in Ihre Data-Engineering-Workflows und CI/CD-Pipelines. Weitere Informationen dazu finden Sie unter Snowflake CLI, Integration von CI/CD mit Snowflake CLI und snow dbt-Befehle.
dbt-Projekt überwachen: Verwenden Sie die Überwachungsfeatures von Snowflake, um die Ausführung von dbt-Projekten zu überprüfen, zu verwalten und zu optimieren, unabhängig davon, ob Sie ein dbt-Projektobjekt manuell ausführen oder Aufgaben verwenden, um dbt-Projektobjekte nach einem Zeitplan auszuführen.
Weitere Informationen dazu finden Sie unter dbt-Projekte in Snowflake überwachen.
Die wichtigsten Konzepte¶
dbt project objects: A dbt project is a directory that contains a
dbt_project.ymlfile and a set of files that define dbt assets, such as models and sources. A DBT PROJECT is a schema-level object that contains versioned source files for your dbt project in Snowflake. You can connect a dbt project object to a workspace, or you can create and manage the object independent of a workspace. You can CREATE, ALTER, and DROP dbt project objects like other schema-level objects in Snowflake.Ein dbt-Projektobjekt basiert in der Regel auf einem dbt-Projektverzeichnis, das eine
dbt-project.yml-Datei enthält. Dies ist das Muster, das Snowflake verwendet, wenn Sie ein dbt-Projektobjekt aus einem Arbeitsbereich heraus bereitstellen (erstellen).Weitere Informationen dazu finden Sie unter Erläuterungen zu dbt-Projektobjekten.
Schemaanpassung: dbt verwendet das Standardmakro
generate_schema_name, um zu entscheiden, wo ein Modell erstellt wird. Sie können anpassen, wie dbt Ihre Modelle, Startwerte, Snapshots und Testtabellen erstellt.Weitere Informationen dazu finden Sie unter Erläuterungen zur Erstellung und Anpassung von Schemas.
Arbeitsbereiche: Arbeitsbereiche in der Snowflake-Weboberfläche sind mit Git verbundene Web-IDE. Hier können Sie ein oder mehrere dbt-Projekte visualisieren, testen, ausführen und erstellen, sie mit einem Snowflake dbt-Projektobjekt verknüpfen, um es zu erstellen/aktualisieren, und anderen Snowflake-Code an einem Ort bearbeiten.
Weitere Informationen dazu finden Sie unter Verwenden von Arbeitsbereichen für dbt Projects on Snowflake.
Versionierung: Jedes dbt-Projektobjekt ist versioniert. Versionen live unter
snow://dbt/<db>.<schema>.<project>/versions/....Weitere Informationen dazu finden Sie unter Versionierung für dbt-Projektobjekte und -Dateien.