dbt — Couche sémantique et transformations¶
Présentation¶
AKKO utilise dbt Core (Apache 2.0) avec l'adaptateur dbt-trino comme couche sémantique et moteur de transformations SQL.
dbt définit les métriques métier et les transformations dans des fichiers SQL versionnés. Il remplace Cube.dev (qui utilise ELv2, une licence non-OSI) pour garder tous les composants d'AKKO sur des licences OSI (Apache 2.0 / MIT / BSD).
Architecture¶
PostgreSQL (tables bancaires)
↓ JDBC
Trino (moteur de fédération)
↓ adaptateur dbt-trino
dbt Core (transformations SQL)
↓ écrit dans
Iceberg/object storage (marts analytiques)
↓ consommé par
Superset / Notebooks / APIs
Modèles¶
Staging (nettoyage des sources)¶
| Modèle | Source | Description |
|---|---|---|
stg_customers |
postgresql.banking.customers | Données clients nettoyées |
stg_accounts |
postgresql.banking.accounts | Données comptes nettoyées |
stg_transactions |
postgresql.banking.transactions | Données transactions nettoyées |
Marts (logique métier)¶
| Modèle | Description |
|---|---|
mart_customer_360 |
Vue client 360 avec agrégats comptes + transactions |
mart_daily_transactions |
Volume quotidien des transactions par catégorie |
mart_fraud_summary |
Indicateurs de risque de fraude par client |
Configuration¶
dbt se connecte à Trino via des variables d'environnement (zéro valeur codée en dur) :
| Variable | Défaut | Description |
|---|---|---|
TRINO_HOST |
akko-trino |
Nom d'hôte du coordinateur Trino |
TRINO_PORT |
8080 |
Port Trino |
TRINO_USER |
dbt-akko |
Utilisateur Trino pour dbt |
Utilisation¶
# Exécuter tous les modèles
kubectl run dbt-run --rm -i --restart=Never -n akko \
--image=akko-dbt:2026.03 \
-- dbt run --profiles-dir /dbt --project-dir /dbt/project
# Exécuter les tests
kubectl run dbt-test --rm -i --restart=Never -n akko \
--image=akko-dbt:2026.03 \
-- dbt test --profiles-dir /dbt --project-dir /dbt/project
Ajouter des modèles¶
- Créer un fichier SQL dans
docker/dbt/project/models/ - Ajouter les tests de schéma dans
schema.yml - Reconstruire l'image :
docker build -t akko-dbt:2026.03 docker/dbt/ - Exécuter :
dbt run
Licence¶
dbt Core : Apache 2.0. dbt-trino : Apache 2.0.