Pràctica 8: Pipeline de Data Warehouse
Objectiu
Crear un pipeline complet de càrrega a un data warehouse simulat.
Descripció
ETL des de múltiples fonts cap a un data warehouse (PostgreSQL simulant DWH).
Arquitectura
Part A: Crear estructura DWH
-- Taules staging
CREATE SCHEMA staging;
CREATE TABLE staging.vendes_raw (
font VARCHAR(50),
dades JSONB,
carregat_a TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Taules DWH
CREATE SCHEMA dwh;
CREATE TABLE dwh.fact_vendes (
venda_id SERIAL PRIMARY KEY,
producte_id INTEGER,
client_id INTEGER,
import DECIMAL(10,2),
data_venda DATE,
sistema_origen VARCHAR(50)
);
CREATE TABLE dwh.dim_productes (
producte_id SERIAL PRIMARY KEY,
nom_producte VARCHAR(200),
categoria VARCHAR(100),
preu DECIMAL(10,2)
);
Part B: Workflow de càrrega
-
Schedule Trigger - Diari a les 2 AM
-
Subworkflow: Extract des d'API 1
- HTTP Request
- Transform
-
Load a staging
-
Subworkflow: Extract des de CSV
- Read Binary File
- Spreadsheet File
- Transform
-
Load a staging
-
Function: Merge i neteja
-
Postgres: Load a DWH
- Inserir a fact tables
-
Actualitzar dimension tables
-
Function: Data quality checks
-
Notification: Resultat
- Email amb resum
- Slack amb mètriques
Lliurables
- Workflow complet del pipeline
- Scripts SQL d'estructura
- Documentació del procés
- Report d'execució amb mètriques