Ce repo (schemas/) est la source de vérité du schéma de la couche
Gold/serving. Les tables y sont déclarées une fois ; les pipelines ne font que
les remplir.
- Le DDL (CREATE TABLE + index) vit ici, hors du code des pipelines.
- Les scripts sont idempotents (
CREATE TABLE IF NOT EXISTS,CREATE INDEX IF NOT EXISTS) : rejouables sans risque. - Ils doivent être appliqués (
db-init) avant de lancer les pipelines, sur une base où l'extension PostGIS est déjà active. - Les pipelines Kedro supposent les tables existantes :
geocharge les géométries (TRUNCATE + INSERT, psycopg) ;goldécrit les agrégats via Spark JDBC enoverwrite+truncate:true(TRUNCATE, pas DROP : la table pré-déclarée est conservée) ;choroplethmatérialise la jointure géométrie × agrégats.
Les fichiers sont préfixés (01_, 02_, …) et appliqués dans l'ordre
lexicographique. L'extension PostGIS elle-même (CREATE EXTENSION postgis) doit
être posée sur la base avant ces scripts ; elle ne fait pas partie de ce repo
(image de base PostGIS / provisioning de l'environnement).
Cette étape db-init deviendra une tâche amont du futur DAG Airflow
(db_init → bronze → silver → gold → geo → choropleth). Chaque pipeline Kedro
reste une unité logique lançable indépendamment.
| Fichier | Table | Remplie par |
|---|---|---|
01_commune_geometry.sql |
commune_geometry |
pipeline geo |
02_departement_geometry.sql |
departement_geometry |
pipeline geo |
03_agg_commune.sql |
agg_commune |
pipeline gold (Spark) |
04_agg_departement.sql |
agg_departement |
pipeline gold (Spark) |
05_transactions.sql |
transactions |
pipeline gold (Spark) |
06_choropleth_commune.sql |
choropleth_commune |
pipeline choropleth |
07_choropleth_departement.sql |
choropleth_departement |
pipeline choropleth |