Panoramica del rendimento della pipeline

Questa pagina illustra la terminologia e i concetti di base dell'elaborazione delle pipeline in Cloud Data Fusion.

Le prestazioni della pipeline dipendono dai seguenti aspetti:

  • Le dimensioni e le caratteristiche dei tuoi dati
  • La struttura della pipeline
  • Dimensionamento del cluster
  • Plug-in utilizzati dalla pipeline di Cloud Data Fusion

Terminologia dell'elaborazione della 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 dati su larga scala.
Nodi master e worker
Macchine fisiche o virtuali che possono eseguire l'elaborazione. I nodi master di solito coordinano il lavoro. I nodi worker eseguono esecutori che elaborano i dati. Hanno le caratteristiche della macchina (quantità di memoria e numero di vCore disponibili per i processi).
vCore, core o CPU
Una risorsa che si occupa di computing. Di solito i nodi forniscono una certa quantità di core e gli esecutori richiedono una o più CPU. Bilancialo insieme alla memoria, per non ridurre l'utilizzo del cluster.
Driver
Una singola VM che funge da coordinatore centrale per l'intero cluster. Gestisce le attività, pianifica il lavoro sui vari nodi worker e monitora l'avanzamento del job.
Esecutori
Più VM che eseguono le attività effettive di elaborazione dei dati, come indicato dal conducente. I tuoi dati sono 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 (altre partizioni di nomi) per elaborare i dati in parallelo. Se non disponi di un numero sufficiente di suddivisioni, non puoi utilizzare l'intero cluster.

Panoramica dell'ottimizzazione delle prestazioni

Le pipeline vengono eseguite su cluster di macchine. Quando scegli di eseguire pipeline di Cloud Data Fusion su cluster Dataproc (che è il provisioner consigliato), utilizza YARN (Yet Other Resource Negotiator) dietro le quinte. Dataproc utilizza YARN per la gestione delle risorse all'interno del cluster. Quando invii una pipeline di Cloud Data Fusion a un cluster Dataproc, il job Apache Spark sottostante utilizza YARN per l'allocazione delle risorse e la pianificazione delle attività.

Un cluster è costituito da nodi master e nodi worker. I nodi master sono generalmente responsabili del coordinamento del lavoro, mentre i nodi worker eseguono il lavoro effettivo. In genere i cluster avranno 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 ciascun nodo worker. I gestori delle risorse si coordinano tra i gestori dei nodi per determinare dove creare ed eseguire i container sul cluster.

Gestori di risorse e gestori dei nodi YARN

Su ogni nodo worker, il Gestore nodi riserva una parte della memoria macchina e delle CPU disponibili per l'esecuzione dei container YARN. Ad esempio, in un cluster Dataproc, se i nodi worker sono VM n1-standard-4 (4 CPU, 15 GB di memoria), ciascun gestore dei nodi riserva 4 CPU e 12 GB di memoria per l'esecuzione di container YARN. I restanti 3 GB di memoria vengono lasciati per gli altri servizi Hadoop in esecuzione sul nodo.

Quando una pipeline viene eseguita su YARN, avvia un driver del flusso di lavoro della pipeline, un driver Spark e molti esecutori Spark in Dataproc.

Driver ed esecutori

Il driver del flusso di lavoro è responsabile dell'avvio di uno o più programmi Spark che compongono una pipeline. Il driver del flusso di lavoro di solito non lavora molto. Ogni programma Spark esegue un singolo driver Spark e più esecutori Spark. Le coordinate del conducente funzionano tra gli esecutori, ma di solito non eseguono alcuna operazione effettiva. La maggior parte del lavoro effettivo viene svolta dagli esecutori di Spark.

Passaggi successivi