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, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/tutorials-segmentation-source-chunks.md.

Découvrir la segmentation par découpage en chunks des lignes source

Voir en Markdown

Il arrive qu'un fichier CSV soit trop volumineux à absorber. Dans ce cas, vous pouvez choisir de segmenter selon le nombre de lignes pour améliorer la vitesse de chargement totale

Objectif

Il arrive qu'un fichier CSV soit trop volumineux à absorber. Dans ce cas, vous pouvez choisir de segmenter selon le nombre de lignes pour améliorer la vitesse de chargement totale.

Prérequis

Avant d'utiliser ce type de segmentation, certains points doivent être vérifiés :

1. Éviter de générer trop de tâches dans une même stage.

Pour garantir de bonnes performances du Data Processing Engine (DPE), nous déconseillons d'avoir des stages avec plus de 500 tâches.

Ce n'est pas une limite stricte, mais des dégradations de performance peuvent être observées au-delà de 500 tâches. Pour réduire le nombre de tâches, vous pouvez définir une bucket size plus élevée, afin que chaque tâche traite davantage de lignes (ce qui signifie moins de tâches au final).

Gardez à l'esprit que pour chaque tâche, le fichier CSV source sera de nouveau uploadé depuis un bucket temporaire du datastore vers chaque worker. Ainsi, si votre fichier CSV est volumineux, il est préférable de garder un nombre de tâches faible. Idéalement, le nombre de tâches devrait correspondre au nombre de workers dont dispose le job.

2. Y a-t-il suffisamment de CPU sur la base de données de destination ?

  • Gardez à l'esprit que les opérations insert sont gourmandes en CPU pour votre SGBD.
  • Par exemple, si votre base de données ne dispose que d'1 CPU, il est probablement risqué de configurer 6 workers pour insérer simultanément dans l'instance du SGBD...
Info

Règle générale : 1 CPU devrait être disponible pour chaque worker s'exécutant simultanément.

Compatibilité

Types d'actionTypes de source
Load; CustomFile Formats: CSVDatabases: MySQL, PostgreSQL, SQLServer, Impala, Hive, BiqQuery, ElasticSearch, Cassandra, Redshift, Oracle, SQLServer

Comment utiliser ce type de segmentation ?

Voici un aperçu rapide comparant le mode visible et le mode JSON avancé.

prestage

Bucket size / Chunksize : définissez le nombre de lignes qui seront absorbées pour chaque tâche.

Actions Load

L'action Load source constituera la base de la segmentation.

source

Actions Custom

Assurez-vous que la clé params.load_from[0].source indique l'adresse de la source : dwh/SOURCE_NAME/FILE_NAME ou TABLE_NAME

Info

Reportez-vous à la capture d'écran précédente pour un exemple du mode JSON avancé.

Comment cela fonctionne-t-il en coulisses ?

Si votre action a une segmentation basée sur un nombre fixe de lignes, lors de l'exécution de l'action, ou de l'action dans un workflow, elle exécutera :

  1. Une pré-stage cachée qui récupère le fichier CSV source, compte son nombre de lignes, puis le place dans un bucket temporaire de l'object-store.
  2. Le Job Controller découpe l'action en plusieurs tâches, chacune avec un chunk de lignes différent à ingérer.
  3. Puis chaque worker exécute chaque tâche l'une après l'autre.
workflow

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 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 dédié.

Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre centre d'aide.

Rejoignez notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?