Concaténation ================== Voici un exemple simple de pipeline Kedro qui charge plusieurs fichiers CSV, les concatène et écrit le résultat dans un nouveau fichier CSV. ### Structure du projet Voici une structure de projet Kedro typique pour cet exemple : ``` my_kedro_project/ │ ├── conf/ │ ├── base/ │ │ ├── catalog.yml │ │ └── parameters.yml │ └── local/ │ ├── catalog.yml │ └── parameters.yml │ ├── src/ │ └── my_kedro_project/ │ ├── __init__.py │ ├── pipeline_registry.py │ ├── nodes.py │ └── pipeline.py │ ├── data/ │ ├── 01_raw/ │ │ ├── file1.csv │ │ ├── file2.csv │ │ └── file3.csv │ └── 02_intermediate/ │ └── concatenated.csv │ └── pyproject.toml ``` ### Configuration du catalogue de données Dans `conf/base/catalog.yml`, configurez les datasets : ```yaml file1: type: pandas.CSVDataSet filepath: data/01_raw/file1.csv file2: type: pandas.CSVDataSet filepath: data/01_raw/file2.csv file3: type: pandas.CSVDataSet filepath: data/01_raw/file3.csv concatenated: type: pandas.CSVDataSet filepath: data/02_intermediate/concatenated.csv ``` ### Définition des nœuds Dans `src/my_kedro_project/nodes.py`, définissez les nœuds pour concaténer les fichiers CSV : ```python import pandas as pd from kedro.pipeline import node def concatenate_csvs(file1: pd.DataFrame, file2: pd.DataFrame, file3: pd.DataFrame) -> pd.DataFrame: return pd.concat([file1, file2, file3]) node_concatenate = node( func=concatenate_csvs, inputs=["file1", "file2", "file3"], outputs="concatenated", name="concatenate_csvs_node" ) ``` ### Définition du pipeline Dans `src/my_kedro_project/pipeline.py`, créez le pipeline : ```python from kedro.pipeline import Pipeline from my_kedro_project.nodes import node_concatenate def create_pipeline(**kwargs) -> Pipeline: return Pipeline([node_concatenate]) ``` ### Registre de pipeline Dans `src/my_kedro_project/pipeline_registry.py`, enregistrez le pipeline : ```python from kedro.pipeline import Pipeline from my_kedro_project.pipeline import create_pipeline def register_pipelines() -> Dict[str, Pipeline]: return { "__default__": create_pipeline(), } ``` ### Exécution du pipeline Pour exécuter le pipeline, utilisez la commande suivante dans le répertoire racine de votre projet : ```bash kedro run ``` Cela chargera les fichiers CSV `file1.csv`, `file2.csv`, et `file3.csv` depuis le répertoire `data/01_raw/`, les concaténera et écrira le résultat dans `data/02_intermediate/concatenated.csv`. ### Conclusion Cet exemple montre comment configurer un pipeline Kedro pour charger plusieurs fichiers CSV, les concaténer et écrire le résultat dans un nouveau fichier CSV. Vous pouvez adapter cette structure pour des workflows plus complexes en ajoutant d'autres nœuds et pipelines selon vos besoins.