> 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/v-4.5/projet-data-and-ia/dataflow/creer-un-dataflow/configurer-le-cluster-dexecution.md).

# Configurer le cluster d'exécution

Chaque Dataflow s’exécute sur un cluster. Le cluster détermine le langage utilisé (Spark ou Python), la version des librairies disponibles, ainsi que les ressources (CPU, RAM, stockage) allouées à l’exécution.

Cette configuration garantit que chaque traitement s’exécute dans un environnement isolé, reproductible et sécurisé.

Cleyrop met à disposition, dans chaque environnement, **un cluster Spark et un cluster Python disponibles en permanence** :

* **Aucun délai de lancement** : les clusters sont toujours actifs.
* **Fallback automatique**

## Définir un cluster par branche

Chaque branche d’un Dataflow peut être associée à un cluster différent.

Cela permet de :

* tester une configuration ou une version spécifique sans impacter la production,
* exécuter des branches de test sur des clusters plus légers,
* réserver un cluster hautes performances pour les branches critiques (ex. main ou production).

{% hint style="success" %}
Lorsqu’un cluster personnalisé est disponible, vous pouvez l’assigner à votre Dataflow pour bénéficier d’un environnement plus puissant ou spécifique à votre cas d’usage : soit à la création soit dans l'**onglet Cluster de la barre d'action du Dataflow**
{% endhint %}

Lors du lancement d’une exécution, Cleyrop choisit le cluster défini pour la branche courante. Si aucun cluster n’est explicitement défini, le cluster compatible avec le type de Dataflow par défaut est automatiquement utilisé.

* Dataflow Spark → exécution sur un cluster Spark (driver + exécuteurs).
* Dataflow Python → exécution sur un cluster Python dédié.

**Modifiez le cluster** de la branche depuis l'onglet Cluster de la branche du Dataflow bouton `Modifier`

<figure><img src="/files/KswHJMHCG7aRNamHTs7z" alt="" width="375"><figcaption></figcaption></figure>

## Créer ou utiliser un cluster personnalisé

{% hint style="warning" %}
Seuls les Platform Managers peuvent gérer les clusters (création, réduction, configuration)
{% endhint %}

Les Platform Managers [peuvent créer et gérer de nouveaux clusters](/docs/v-4.5/administration/gerer-les-clusters.md) adaptés à des besoins spécifiques. En définissant :

* la quantité de ressources (CPU, RAM),
* la version du moteur (Python),
* le nombre de sessions

Ces clusters permettent de mettre à disposition :

| Paramètre              | Description                                                                                               |
| ---------------------- | --------------------------------------------------------------------------------------------------------- |
| CPU                    | Nombre de cœurs alloués par exécution. Plus de CPU = exécution plus rapide mais plus coûteuse.            |
| RAM                    | Quantité de mémoire disponible. Nécessaire pour le traitement de gros volumes ou d’opérations en mémoire. |
| Version Python / Spark | Définit la compatibilité des librairies installées.                                                       |
| Librairies disponibles | Liste des packages Python ou Spark installés dans le cluster.                                             |

***

## Bonnes pratiques

* Pour les branches de développement, privilégiez un cluster distinct afin d’éviter toute surcharge sur le cluster principal.
* Ne créez pas manuellement de sessions Spark : elles sont gérées automatiquement par Cleyrop.
