Aperçu des performances du pipeline

Le réglage du traitement des pipelines dans Cloud Data Fusion vous permet d'optimiser la vitesse d'exécution et d'éviter les goulots d'étranglement au moment de l'exécution. Comprendre ces concepts vous aide à dimensionner efficacement l'infrastructure et à réduire les coûts de calcul dans vos workflows de données.

Les performances des pipelines dépendent des aspects suivants :

  • La taille et les caractéristiques de vos données
  • La structure de votre pipeline
  • Le dimensionnement du cluster
  • Les 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 présentent des caractéristiques de machine (quantité de mémoire et nombre de cœurs virtuels disponibles pour les processus).
Cœurs virtuels, cœurs ou processeurs
Ressource qui effectue des calculs. En règle générale, vos nœuds fournissent une certaine quantité 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 sert de 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 jobs.
Exécuteurs
Plusieurs VM effectuant les tâches de traitement des données réelles, conformément aux instructions du 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 disposer de suffisamment de divisions.
Divisions ou partitions
Un ensemble de données est divisé en divisions (également appelées partitions) pour traiter les données en parallèle. Si vous ne disposez pas de suffisamment 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 Managed Service pour Apache Spark (qui est le provisionneur recommandé), il utilise YARN (Yet Another Resource Negotiator) en arrière-plan. Managed Service pour Apache Spark utilise YARN pour la gestion des ressources au sein du cluster. Lorsque vous envoyez un pipeline Cloud Data Fusion à un cluster Managed Service pour Apache Spark, le job Apache Spark sous-jacent exploite 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 responsables de la coordination du 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 du travail. YARN exécute un service de gestion des ressources sur le nœud maître et un service de gestion des nœuds sur chaque nœud de calcul. Les gestionnaires de ressources se coordonnent entre eux pour déterminer où créer et exécuter des conteneurs sur le cluster.

Gestionnaires de ressources et de nœuds YARN

Sur chaque nœud de calcul, le gestionnaire de nœuds réserve une partie de la mémoire et des processeurs disponibles de la machine pour exécuter les conteneurs YARN. Par exemple, sur un cluster Managed Service pour Apache Spark, 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 exécuter les 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 Managed Service pour Apache Spark.

Pilotes et exécuteurs

Le pilote de workflow est responsable du lancement d'un ou de plusieurs programmes Spark qui composent un pipeline. Le pilote de workflow n'effectue généralement pas beaucoup de travail. Chaque programme Spark exécute un seul pilote Spark et plusieurs exécuteurs Spark. Le pilote coordonne le travail entre les exécuteurs, mais n'effectue généralement aucun travail réel. La majeure partie du travail réel est effectuée par les exécuteurs Spark.

Étape suivante