Projets dbt sur Snowflake¶
dbt Core est un outil et un framework open source de transformation de données que vous pouvez utiliser pour définir, tester et déployer des transformations SQL.
Avec dbt Projects on Snowflake, vous pouvez utiliser les fonctionnalités familières de Snowflake pour créer, modifier, tester, exécuter et gérer vos projets dbt Core, généralement comme suit :
Démarrer par un projet dbt valide : (avec
dbt_project.yml,profile.yml,/models/....) Il est stocké soit dans un espace de travail dans l’Snowsight, soit dans un référentiel Git que vous avez connecté à Snowflake. Préparez une base de données, un schéma et un entrepôt avec un rôle qui dispose des privilèges nécessaires.Dépendances d’installation : exécutez la commande
dbt depsdans un espace de travail Snowflake, une machine locale ou un orchestrateur Git pour renseigner le dossierdbt_packagesde votre projet dbt.Pour plus d’informations, voir Comprendre les dépendances des projets dbt sur Snowflake.
Déployer l’objet DBT PROJECT : créez un objet DBT PROJECT au niveau du schéma en copiant vos fichiers de projet dans une nouvelle version de cet objet. Vous pouvez le faire à l’aide de la commande CREATE OR REPLACE DBT PROJECT … FROM <source> ou de la commande
snow dbt deploySnowflake CLI.Pour plus d’informations, voir Déployer des objets de projet dbt.
Exécuter le projet dbt dans Snowflake : exécutez un projet dbt Core dans un objet de projet dbt à l’aide de la commande EXECUTE DBT PROJECT ou de la commande
snow dbt executeSnowflake CLI. L’exécution d’un projet dbt implique l’appel de commandes dbt Core pour créer ou tester des modèles ; il s’agit de ce que vous planifiez et orchestrez.For more information, see EXECUTE DBT PROJECT.
Planifier avec des tâches Snowflake : utilisez les tâches Snowflake pour planifier et orchestrer les exécutions de projets dbt.
Pour plus d’informations, voir Planification des exécutions de projets dbt sur Snowflake.
Configurer les intégrations CI/CD : utilisez les commandes CLI Snowflake pour intégrer le déploiement et l’exécution dans vos workflows CI/CD.
Les objets de projet dbt prennent en charge les commandes CLI Snowflake que vous pouvez utiliser pour créer et gérer des projets dbt à partir de la ligne de commande. Cela est utile pour intégrer des projets dbt dans vos flux de travail d’ingénierie des données et pipelines CI/CD. Pour plus d’informations, voir Snowflake CLI, Intégration de CI/CD à Snowflake CLI, et Commandes snow dbt.
Surveiller le projet dbt : utilisez les fonctionnalités de surveillance Snowflake pour inspecter, gérer et régler l’exécution d’un projet dbt, que vous exécutiez manuellement un objet de projet dbt ou que vous utilisiez des tâches pour exécuter des objets de projet dbt selon une planification.
Pour plus d’informations, voir Surveiller des projets dbt sur Snowflake.
Concepts clés¶
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.Un objet de projet dbt est généralement basé sur un répertoire de projet dbt qui contient un fichier
dbt-project.yml. C’est le modèle que Snowflake utilise lorsque vous déployez (créez) un objet de projet dbt à partir d’un espace de travail.Pour plus d’informations, voir Comprendre les objets du projet dbt.
Personnalisation du schéma : dbt utilise la macro par défaut
generate_schema_namepour décider où un modèle est créé. Vous pouvez personnaliser la façon dont dbt crée vos modèles, seeds, instantanés et tables de test.Pour plus d’informations, voir Comprendre la génération et la personnalisation des schémas.
Espaces de travail : les espaces de travail de l’interface Web de Snowflake sont un IDE Web connecté à Git où vous pouvez visualiser, tester, exécuter et schématiser un ou plusieurs projets dbt, les lier à un objet de projet dbt Snowflake pour le créer/le mettre à jour, et modifier d’autres codes Snowflake en un seul endroit.
Pour plus d’informations, voir Utilisation des espaces de travail pour dbt Projects on Snowflake.
Version : chaque objet de projet dbt est versionné ; versions actives sous
snow://dbt/<db>.<schema>.<project>/versions/....Pour plus d’informations, voir Gestion des versions pour les objets et fichiers de projet dbt.