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 de pipeline dans 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ître et 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 présentent des caractéristiques de machine (quantité de mémoire et nombre de vCores disponibles pour les processus).
- vCores, cœurs ou processeurs
- Ressource de calcul. 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
- Une seule VM 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 tâches.
- Exécuteurs
- Plusieurs VM effectuant les tâches de traitement de données réelles, comme indiqué par le 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 d'un nombre suffisant de divisions.
- 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 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 Dataproc (qui est le provisionneur recommandé), YARN (Yet Another Resource Negotiator) est utilisé en coulisses. Dataproc utilise YARN pour la gestion des ressources au sein du 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ître 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 se coordonnent entre tous les gestionnaires de nœuds pour déterminer où créer et exécuter des conteneurs sur le cluster.
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 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.
Le pilote de workflow est chargé de lancer le ou les programmes Spark qui constituent 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 aucune tâche. La majeure partie du travail réel est effectuée par les exécuteurs Spark.
Étape suivante
- Découvrez le traitement en parallèle dans Cloud Data Fusion.