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 l’objet de projet dbt déployé : 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.Pour plus d’informations, voir EXECUTE DBT PROJECT.
Planifier avec des tâches Snowflake : utilisez les tâches Snowflake pour planifier et orchestrer les exécutions d’objets de projet dbt.
Pour plus d’informations, voir Schedule execution of dbt project objects on 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.
La CLI de Snowflake prend en charge les commandes pour créer, exécuter et gérer des objets de projet 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 l’objet de 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 Moniteur dbt Projects on Snowflake.
Concepts clés¶
Objets de projet dbt : un projet dbt est un répertoire qui contient un fichier
dbt_project.ymlet un ensemble de fichiers qui définissent les actifs dbt, tels que les modèles et les sources. Un DBT PROJECT est un objet de niveau schéma qui contient des fichiers sources versionnés pour votre projet dbt dans Snowflake. Vous pouvez connecter un objet de projet dbt à un espace de travail, ou vous pouvez créer et gérer l’objet indépendammentmment d’un espace de travail. Vous pouvez CREATE, ALTER et DROP des objets de projet dbt comme les autres objets de niveau schéma dans 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 Understand dbt project objects.
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 Understand schema generation and customization.
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 Workspaces for 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 Versions for dbt project objects and files.
Versions dbt Core prises en charge : Snowflake fournit des environnements d’exécution gérés pour des versions spécifiques dbt Core. Vous pouvez épingler une version au moment de la création, la remplacer par exécution ou définir une valeur par défaut au niveau du compte.
Pour plus d’informations, voir Versions dbt Core prises en charge pour dbt Projects on Snowflake.
Commandes prises en charge : les objets de projet dbt prennent en charge un sous-ensemble de commandes et d’indicateurs dbt.
Pour plus d’informations, voir Commandes et indicateurs dbt pris en charge.