Noria — SQL-first data pipeline framework
Noria est un framework Python léger pour construire des pipelines de données SQL. Il cible les data analysts et data engineers qui veulent écrire du SQL propre, versionnable et multi-bases, sans ORM.
Pourquoi Noria ?
| Besoin | Solution Noria |
|---|---|
| SQL portable (DuckDB → PostgreSQL → BigQuery) | Macros cross-DB Jinja2 |
| Éviter les écrasements accidentels | output_write: safe_replace |
| Traiter par boucle sur liste ou requête SQL | loop: / loop_from_query: |
| Exécution parallèle | loop_parallel: true, DAG parallèle |
| SCD Type 2 | output_write: scd2 |
| Data quality | type: assert |
| Freshness checks | freshness_check: |
| Chargement de fichiers | type: seed |
Installation
pip install noria
# ou avec PostgreSQL :
pip install "noria[postgres]"
# ou BigQuery :
pip install "noria[bigquery]"
Premier pipeline
# noria.yml
name: mon_pipeline
database:
dialect: duckdb
database: data/warehouse.db
params:
schema: main
nodes:
clients:
sql: sql/clients.sql
target: "{{ params.schema }}.clients"
output_write: replace
stats:
sql: sql/stats.sql
target: "{{ params.schema }}.monthly_stats"
output_write: replace
needs: [clients]
tags: [reporting, daily]