---
title: "Action Custom avec des tables du Lakehouse Manager"
description: "Ce court exemple montre comment extraire des données d'une table dans le Lakehouse Manager, les transformer puis les insérer ou mettre à jour le Lakehouse Manager"
url: https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/developers-python-sdk-quick-start-dataset
lang: fr
lastUpdated: 2026-09-14
---
> For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt.

# Action Custom avec des tables du Lakehouse Manager

## Objectif

Ce court exemple montre comment extraire des données d'une table dans le Lakehouse Manager, les transformer puis les insérer ou mettre à jour le Lakehouse Manager.

Le code est écrit dans le contexte d'une [action Custom](https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/dpe-actions-custom.md) et utilise la table _stations\_rides_ du [tutoriel de démarrage](https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/landing-page-getting-started.md). Si vous avez suivi ce tutoriel, vous pouvez simplement copier-coller le code ci-dessous pour le tester, sinon vous devez l'adapter à vos tables et sources de données.

:::info
N'oubliez pas de construire la table que vous utilisez dans le DM puis de la charger avec une [action Load DPE](https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/dpe-actions-load.md). Vous devez charger votre table avant d'utiliser le code ci-dessous, sinon cela ne fonctionnera pas.
:::

```python
import sys
import pandas as pd
import logging

from forepaas.dwh import connect
from forepaas.dwh import bulk_insert

logger = logging.getLogger(__name__)
def customfunc(event):
    try:
        logger.notice("Begin function")

        # établit la connexion au dataset par défaut
        cn = connect("dwh/default_dataset/")

        # option 1 : extrait les données de la table sans SQL requis
        df = cn.select("stations_rides")

        # option 2 : extrait les données avec du SQL personnalisé
        df = cn.query("SELECT station_id, date, rides, station_name FROM stations_rides")

        # effectue votre transformation personnalisée dans le dataframe
        df.loc[df["station_name"] == 'Harlem-Lake', "rides"] = 0

        # réinsère votre dataframe dans la table de destination
        stats = bulk_insert(cn, "stations_rides", df) 

        # affiche les statistiques d'insertion (si le SGBD le permet) 
        logger.info(stats)

        # supprime les lignes où le nom de la station est "Davis"
        cn.delete("stations_rides", {"station_name":"Davis"})

        # met à jour les lignes en définissant rides à 0 où station_id=40040
        cn.update("stations_rides", {"rides":0}, {"station_id":40040})

        # une fois terminé, déconnecte cn
        del cn    
        logger.notice("END function")
    except Exception as err: 
        raise Exception("err:{} L:{}".format(err,sys.exc_info()[2].tb_lineno))
```

## Aller plus loin

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur [ce lien](https://www.ovhcloud.com/fr/professional-services/) pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le [canal Discord](https://discord.gg/ovhcloud) dédié.

Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre [centre d'aide](https://help.ovhcloud.com/csm?id=csm_get_help).

Rejoignez notre [communauté d'utilisateurs](https://community.ovhcloud.com/).
