Présentation des performances du pipeline

Cette page explique la terminologie et les concepts de base du traitement par pipeline 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 de traitement de pipeline dans Cloud Data Fusion

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

Type de machine
Type de machines virtuelles (VM) utilisées (processeur, mémoire).
Cluster
Groupe de VM qui collaborent 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 pouvant effectuer le traitement. 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 ont les caractéristiques de la machine (quantité de mémoire et nombre de vCore disponibles pour processus).
vCores, cœurs ou processeurs
Ressource qui effectue des calculs. En règle générale, 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.
Driver
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 la progression des tâches.
Exécuteurs
Plusieurs VM exécutant les tâches réelles de traitement des données, comme indiqué par la pilote. Vos données sont partitionnées et distribuées entre ces exécuteurs pour un traitement parallèle. Pour utiliser tous les exécuteurs, vous devez avoir suffisamment les écrans fractionnés.
Divisions 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'intégralité 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 Pipelines Cloud Data Fusion sur des clusters Dataproc (qui sont les approvisionneur recommandé), il utilise YARN (autre encore, un autre négociateur de ressources) derrière en coulisses. Dataproc utilise YARN pour gérer les ressources 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 généralement 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 du travail. YARN exécute un service Resource Manager sur le nœud maître et un service Node Manager sur chaque nœud de calcul. Les gestionnaires de ressources coordonnent tous les gestionnaires de nœuds pour 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, le gestionnaire de nœuds réserve une partie de la mémoire et des processeurs de la machine disponibles pour exécuter des conteneurs YARN. Par exemple, sur un cluster Dataproc, si vos nœuds de calcul sont des VM n1-standard-4 (4 CPU, 15 Go de mémoire), chaque gestionnaire de nœuds réserve 4 CPU et 12 Go de mémoire pour exécuter des conteneurs YARN. Les 3 Go de mémoire restants est conservé pour les 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 le ou les programmes Spark qui constituent un pipeline. Le pilote du workflow n'effectue généralement pas beaucoup de travail. Chaque Le programme Spark exécute un seul pilote Spark et plusieurs exécuteurs Spark. La les coordonnées du pilote fonctionnent entre les exécuteurs, mais n’effectuent généralement aucune le travail réel. La majeure partie du travail est effectuée par les exécuteurs Spark.

Étape suivante