Questa pagina spiega la terminologia e i concetti di base dell'elaborazione delle pipeline in Cloud Data Fusion.
Il rendimento della pipeline dipende dai seguenti aspetti:
- Le dimensioni e le caratteristiche dei dati
- La struttura della pipeline
- Il dimensionamento del cluster
- I plug-in utilizzati dalla pipeline Cloud Data Fusion
Terminologia di elaborazione delle pipeline in Cloud Data Fusion
La seguente terminologia si applica all'elaborazione delle pipeline in Cloud Data Fusion.
- Tipo di macchina
- Tipo di macchine virtuali (VM) utilizzate (CPU, memoria).
- Cluster
- Un gruppo di VM che lavorano insieme per gestire attività di elaborazione dei dati su larga scala.
- Nodi master e worker
- Macchine fisiche o virtuali in grado di eseguire l'elaborazione. I nodi master in genere coordinano il lavoro. I nodi worker eseguono gli esecutori che elaborano i dati. Hanno caratteristiche della macchina (quantità di memoria e numero di vCore disponibili per i processi).
- vCore, core o CPU
- Una risorsa che esegue il calcolo. In genere, i nodi forniscono una determinata quantità di core e gli esecutori richiedono una o più CPU. Bilancia questa risorsa con la memoria, altrimenti potresti sottoutilizzare il cluster.
- Driver
- Una singola VM che funge da coordinatore centrale per l'intero cluster. Gestisce le attività, pianifica il lavoro tra i nodi worker e monitora l'avanzamento dei job.
- Esecutori
- Più VM che eseguono le attività di elaborazione dei dati effettive, come indicato dal driver. I dati vengono partizionati e distribuiti tra questi esecutori per l'elaborazione parallela. Per utilizzare tutti gli esecutori, devi avere un numero sufficiente di suddivisioni.
- Suddivisioni o partizioni
- Un set di dati viene suddiviso in suddivisioni (altro nome partizioni) per elaborare i dati in parallelo. Se non hai un numero sufficiente di suddivisioni, non puoi utilizzare l'intero cluster.
Panoramica dell'ottimizzazione del rendimento
Le pipeline vengono eseguite su cluster di macchine. Quando scegli di eseguire le pipeline Cloud Data Fusion sui cluster Managed Service for Apache Spark (che è il provisioner consigliato), viene utilizzato YARN (Yet Another Resource Negotiator) in background. Managed Service for Apache Spark utilizza YARN per la gestione delle risorse all'interno del cluster. Quando invii una pipeline Cloud Data Fusion a un cluster Managed Service for Apache Spark, il job Apache Spark sottostante utilizza YARN per l'allocazione delle risorse e la pianificazione delle attività.
Un cluster è composto da nodi master e worker. I nodi master sono generalmente responsabili del coordinamento del lavoro, mentre i nodi worker eseguono il lavoro effettivo. I cluster in genere hanno un numero ridotto di nodi master (uno o tre) e un numero elevato di worker. YARN viene utilizzato come sistema di coordinamento del lavoro. YARN esegue un servizio Resource Manager sul nodo master e un servizio Node Manager su ogni nodo worker. I Resource Manager si coordinano tra tutti i Node Manager per determinare dove creare ed eseguire i container sul cluster.
Su ogni nodo worker, Node Manager riserva una parte della memoria e delle CPU della macchina disponibili per l'esecuzione dei container YARN. Ad esempio, in un cluster Managed Service for Apache Spark, se i nodi worker sono VM n1-standard-4 (4 CPU, 15 GB di memoria), ogni Node Manager riserverà 4 CPU e 12 GB di memoria per l'esecuzione dei container YARN. I 3 GB di memoria rimanenti vengono lasciati per gli altri servizi Hadoop in esecuzione sul nodo.
Quando una pipeline viene eseguita su YARN, vengono avviati un driver del flusso di lavoro della pipeline, un driver Spark e molti esecutori Spark in Managed Service for Apache Spark.
Il driver del flusso di lavoro è responsabile dell'avvio di uno o più programmi Spark che compongono una pipeline. In genere, il driver del flusso di lavoro non svolge molto lavoro. Ogni programma Spark esegue un singolo driver Spark e più esecutori Spark. Il driver coordina il lavoro tra gli esecutori, ma in genere non esegue alcun lavoro effettivo. La maggior parte del lavoro effettivo viene eseguita dagli esecutori Spark.
Passaggi successivi
- Scopri di più sull'elaborazione parallela in Cloud Data Fusion.