Présentation des performances du pipeline

Cette page explique la terminologie et les concepts de base du traitement des pipelines dans Cloud Data Fusion.

Les performances du pipeline dépendent des aspects suivants:

  • La taille et les caractéristiques de vos données
  • La structure de votre pipeline
  • Dimensionnement des clusters
  • Plug-ins utilisés par votre pipeline Cloud Data Fusion

Terminologie du traitement des pipelines dans Cloud Data Fusion

La terminologie suivante s'applique au traitement des pipelines dans Cloud Data Fusion.

Type de machine
Type de machines virtuelles (VM) utilisées (processeur, mémoire).
Cluster
Groupe de VM qui fonctionnent ensemble pour gérer des tâches de traitement de données à grande échelle.
Nœuds maîtres et nœuds de calcul
Machines physiques ou virtuelles capables d'effectuer des traitements. Les nœuds maîtres coordonnent généralement le travail. Les nœuds de calcul exécutent des exécuteurs qui traitent les données. Ils possèdent les caractéristiques de la machine (quantité de mémoire et nombre de vCore disponibles pour les processus).
vCores, cœurs ou processeurs
Ressource qui effectue des calculs. Généralement, vos nœuds fournissent un certain nombre de cœurs et vos exécuteurs demandent un ou plusieurs processeurs. Équilibrez cela avec la mémoire, sinon vous risquez de sous-utiliser votre cluster.
Pilote
VM unique qui agit en tant que coordinateur central pour l'ensemble du cluster. Il gère les tâches, planifie le travail sur les nœuds de calcul et surveille leur progression.
Exécuteurs
Plusieurs VM exécutant les tâches réelles de traitement des données, comme indiqué par le pilote. Vos données sont partitionnées et distribuées entre ces exécuteurs pour un traitement en parallèle. Pour utiliser tous les exécuteurs, vous devez disposer d'un nombre suffisant de divisions.
Fractionnements ou partitions
Un ensemble de données est divisé en divisions (autres partitions de nom) pour traiter les données en parallèle. Si vous n'avez pas assez de divisions, vous ne pouvez pas utiliser l'ensemble du cluster.

Présentation du réglage des performances

Les pipelines sont exécutés sur des clusters de machines. Lorsque vous choisissez d'exécuter des pipelines Cloud Data Fusion sur des clusters Dataproc (qui est l'approvisionneur recommandé), le serveur utilise YARN (Yet Other Resource Negotiator) en arrière-plan. Dataproc utilise YARN pour la gestion des ressources dans le cluster. Lorsque vous envoyez un pipeline Cloud Data Fusion à un cluster Dataproc, la tâche Apache Spark sous-jacente utilise YARN pour l'allocation des ressources et la planification des tâches.

Un cluster se compose de nœuds maîtres et de nœuds de calcul. Les nœuds maîtres sont généralement chargés de coordonner le travail, tandis que les nœuds de calcul effectuent le travail réel. Les clusters comportent normalement un petit nombre de nœuds maîtres (un ou trois) et un grand nombre de nœuds de calcul. YARN est utilisé comme système de coordination des tâches. YARN exécute un service de gestionnaire de ressources sur le nœud maître et un service de gestionnaire de nœuds sur chaque nœud de calcul. Les gestionnaires de ressources se coordonnent entre tous les gestionnaires de nœuds pour déterminer où créer et exécuter des conteneurs sur le cluster.

Gestionnaires de ressources YARN et gestionnaires de nœuds

Sur chaque nœud de calcul, Node Manager réserve une partie de la mémoire machine et des processeurs disponibles pour l'exécution des conteneurs YARN. Par exemple, sur un cluster Dataproc, si vos nœuds de calcul sont des VM n1-standard-4 (4 processeurs, 15 Go de mémoire), chaque gestionnaire de nœuds réserve 4 processeurs et 12 Go de mémoire pour l'exécution des conteneurs YARN. Les 3 Go de mémoire restants sont réservés aux autres services Hadoop exécutés sur le nœud.

Lorsqu'un pipeline est exécuté sur YARN, il lance un pilote de workflow de pipeline, un pilote Spark et de nombreux exécuteurs Spark dans Dataproc.

Conducteurs et exécuteurs

Le pilote de workflow est chargé de lancer un ou plusieurs programmes Spark qui constituent un pipeline. Le pilote du workflow n'effectue généralement pas beaucoup de travail. Chaque programme Spark exécute un seul pilote Spark et plusieurs exécuteurs Spark. Les coordonnées du pilote fonctionnent entre les exécuteurs, mais n'effectuent généralement aucune tâche réelle. La majeure partie du travail est effectuée par les exécuteurs Spark.

Étapes suivantes