> For the complete documentation index, see [llms.txt](https://cleyrop.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cleyrop.gitbook.io/docs/projet-data-and-ia/dataflow/comprendre-les-dataflows.md).

# Comprendre les Dataflows

Les Dataflows sont au cœur de la plateforme Cleyrop.

Ils permettent de concevoir des **chaînes de transformation** de données, en reliant des *datasets* existants à des étapes de transformation (code, SQL ou low code) pour produire de nouveaux jeux de données prêts à être utilisés dans des analyses, des dashboards ou des applications IA.

Conçus avec une **approche visuelle et collaborative**, les Dataflows facilitent la compréhension et l’évolution des traitements dans le temps.

Ils permettent à des équipes mixtes, **techniques et métiers,** de travailler ensemble, de documenter visuellement les transformations, et de favoriser l’onboarding rapide des nouveaux arrivants.

### Qu’est-ce qu’un Dataflow

Un Dataflow est un pipeline graphique de traitement des données.

Chaque étape prend en entrée un ou plusieurs *Datasets*, applique une transformation, puis écrit le résultat dans un nouveau dataset.

Les Dataflows permettent :

* d’**orchestrer plusieurs traitements** dans un flux cohérent,
* de **tracer et versionner** chaque étape,
* d’**automatiser l’exécution** et la publication des résultats.

<figure><img src="/files/265O4gIqAuTL7ipeHIOr" alt=""><figcaption></figcaption></figure>

### Types de Dataflows

Il existe deux grands types de Dataflows dans Cleyrop :

<table data-card-size="large" data-view="cards"><thead><tr><th>Type</th><th>Usage principal</th><th>Langages</th><th>Entrée /Sortie requise</th><th>Performance</th></tr></thead><tbody><tr><td>SPARK</td><td>ETL / traitement distribué</td><td>PySpark, SQL, Low Code</td><td>Python (Polars / Pandas)</td><td>Haute (cluster distribué)</td></tr><tr><td>PYTHON</td><td>Automatisation / collecte / scripts légers</td><td>Python (Polars)</td><td>Non</td><td>Moyenne (exécution locale ou multiproc)</td></tr></tbody></table>

### Composants d’un Dataflow

Un Dataflow se compose de :

* **Datasets d’entrée** : sources de données utilisées dans les transformations.
* **Transformations** : étapes de traitement (Python, SQL, Low Code).
* **Datasets de sortie** : jeux de données produits.
* **Cluster d’exécution** : environnement de calcul (Spark ou Python).
* **Variables d’environnement** : paramètres optionnels (clés, URLs, etc.).

### Comment s’exécutent les Dataflows

Lorsqu’un Dataflow est lancé :

* Chaque transformation lit ses datasets d’entrée si existant.
* Le code s’exécute sur le cluster choisi (Spark ou Python).
* Le dataset de sortie est écrit dans le catalogue Cleyrop
* Les logs d’exécution sont enregistrés et consultables.

Toutes les **exécutions et versions sont historisées par branche**, garantissant la **traçabilité** complète des traitements.

### Bonnes pratiques

* Évitez les appels pandas dans les transformations Spark.
* Découpez les flux longs en plusieurs Dataflows pour simplifier le débogage et faciliter la prise en main.
* Utilisez les variables d’environnement pour gérer vos paramètres sensibles.
* Documentez les datasets produits pour favoriser leur réutilisation.
