Bien démarrer avec dbt
Ce guide décrit pas à pas la mise en place d’un environnement de développement local nhic_dbt à partir de zéro.
Les exécutions dbt de production sont déclenchées par les workflows Prefect — jamais directement depuis la CI ou votre poste de travail. Les exécutions locales servent uniquement au développement et aux tests.
Prérequis
Vérifiez que les éléments suivants sont installés avant de continuer :
- Python 3.11 —
python --versiondoit afficher3.11.x - Docker + Docker Compose — nécessaires pour démarrer une instance Postgres locale
- pipenv —
pip install pipenvs’il n’est pas déjà présent - L’accès aux identifiants du cluster PostgreSQL pour le profil
nhic_dbt(voir votre responsable d’équipe)
Cloner le dépôt et se placer dans le projet
git clone git@github.com:Sand-EnterpriseAI/Healthcare.MOH.RWA.HIC.git
cd Healthcare.MOH.RWA.HIC/apps/analytics/nhic_dbtInstaller les dépendances Python
Le projet utilise un Pipfile qui fige les versions de dbt-core et dbt-postgres :
pipenv install
pipenv shellConfigurer le profil dbt
dbt lit les paramètres de connexion dans profiles.yml. Créez ou mettez à jour ce fichier à la racine du projet (il est ignoré par git) :
nhic_dbt:
target: dev
outputs:
dev:
type: postgres
host: localhost
port: 5432
dbname: nhic
user: nhic
password: nhic
schema: public
threads: 4Pour vous connecter à un environnement non local, mettez à jour host, port, dbname, user et password afin de correspondre au cluster cible.
Démarrer la base de données locale
Docker Compose lance un conteneur Postgres préconfiguré pour le développement local :
docker-compose up -dCela démarre Postgres sur localhost:5432. Les identifiants par défaut correspondent au profil dev ci-dessus.
Installer les packages dbt
Récupérez les dépendances de packages dbt déclarées dans packages.yml :
dbt depsTester la connexion
Vérifiez que dbt peut atteindre la base de données et que votre profil est correctement configuré :
dbt debugToutes les vérifications doivent passer. Si la connexion échoue, revérifiez profiles.yml et confirmez que le conteneur Docker est bien en cours d’exécution.
Exécuter les modèles
Exécutez le projet complet ou ciblez une seule couche :
# Full run — all four layers
dbt run
# Run a single layer
dbt run --select staging
dbt run --select intermediate
dbt run --select dwh
dbt run --select reportingTester les modèles
Exécutez tous les tests de schéma et les tests personnalisés :
# All tests
dbt test
# Tests for a specific layer
dbt test --select staging
dbt test --select tag:dwh