Casa Finanza personale La fase Shuffle del flusso di applicazioni MapReduce di Hadoop - dummies

La fase Shuffle del flusso di applicazioni MapReduce di Hadoop - dummies

Video: Hadoop Processing Frameworks 2025

Video: Hadoop Processing Frameworks 2025
Anonim

Dopo la fase Mappa e prima dell'inizio della fase di riduzione è un processo di handoff, noto come shuffle e sort . Qui, i dati delle attività del mappatore vengono preparati e spostati nei nodi in cui verranno eseguite le attività del riduttore. Una volta completata l'attività del mappatore, i risultati vengono ordinati per chiave, partizionati se esistono riduttori multipli e quindi scritti su disco.

Puoi vedere questo concetto nella figura seguente, che mostra il flusso di elaborazione dati MapReduce e la sua interazione con i componenti fisici del cluster Hadoop. (Una nota veloce: i dati in memoria sono rappresentati da quadratini bianchi e i dati memorizzati sul disco sono rappresentati da quadrati grigi.)

Per accelerare il processo MapReduce complessivo, i dati vengono immediatamente spostati nei nodi delle attività del riduttore, per evitare un flusso di attività della rete quando l'attività del mappatore finale termina il suo lavoro. Questo trasferimento avviene mentre l'attività del mappatore è in esecuzione, poiché gli output per ciascun record - ricorda - sono memorizzati nella memoria di un'attività di riduzione in attesa. (È possibile configurare se ciò accade - o non accade - e anche il numero di thread coinvolti.)

Tenere presente che anche se un'attività di riduzione può avere la maggior parte dell'output dell'attività del programma di definizione, l'elaborazione dell'attività di riduzione non può iniziare fino a quando non sono state completate tutte le attività del programma di definizione.

Per evitare scenari in cui le prestazioni di un lavoro MapReduce sono ostacolate da un'attività di mappatura in conflitto che è in esecuzione su un nodo slave con prestazioni scadenti, il framework MapReduce utilizza un concetto chiamato esecuzione speculativa .

Nel caso in cui alcune attività del mappatore siano più lente di quelle considerate ragionevoli, l'Application Master genererà attività duplicate (in Hadoop 1, il JobTracker esegue questa operazione). Qualunque attività finisca prima - il duplicato o l'originale - i suoi risultati vengono archiviati su disco e l'altra attività viene uccisa. Se stai monitorando da vicino i tuoi lavori e ti stai chiedendo perché ci sono più attività di mapper in esecuzione di quanto ti aspetti, questo è un probabile motivo.

L'output delle attività del mapping non viene scritto su HDFS, ma su disco locale sul nodo slave in cui è stata eseguita l'attività del mapping. Come tale, non è replicato attraverso il cluster Hadoop.

Oltre a comprimere l'output, è possibile potenziare le prestazioni eseguendo un'attività combinatore. Questa semplice tattica, mostrata qui, comporta l'esecuzione di una riduzione locale dell'output per le singole attività del mapper.

Nella maggior parte dei casi, non è necessaria alcuna programmazione aggiuntiva, poiché è possibile indicare al sistema di utilizzare la funzione di riduzione. Se non si utilizza la funzione di riduzione, è necessario assicurarsi che l'uscita della funzione combinatore sia identica a quella della funzione di riduzione.

Dipende dal framework MapReduce se la funzione combinatore deve essere eseguita una volta, più volte o mai, quindi è fondamentale che il codice del combinatore garantisca che i risultati finali non siano influenzati da più esecuzioni. L'esecuzione del combinatore può produrre un vantaggio in termini di prestazioni riducendo la quantità di dati intermedi che altrimenti avrebbero bisogno di essere trasferiti sulla rete.

Ciò riduce anche la quantità di elaborazione che le attività del riduttore dovrebbero fare. Stai eseguendo un compito extra qui, quindi è possibile che qualsiasi guadagno di prestazioni sia trascurabile o possa anche peggiorare le prestazioni complessive. Il tuo chilometraggio può variare, quindi prova questo attentamente.

Dopo che tutti i risultati delle attività del mapper sono stati copiati nei nodi delle attività del riduttore, questi file vengono uniti e ordinati.

La fase Shuffle del flusso di applicazioni MapReduce di Hadoop - dummies

Scelta dell'editore

Il programma in cinque passaggi per superare la menopausa - dummy

Il programma in cinque passaggi per superare la menopausa - dummy

Alcune donne capiscono a malapena che la menopausa è loro. Altre donne, tuttavia, sono meno fortunate. Se sei uno di questi, prendi in mano questi pochi modi per rendere la tua esperienza più facile per te stesso: capisci e accetta che stai attraversando una transizione naturale, proprio come la pubertà. Fortunatamente, sei più vecchio e più saggio di te ...

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa segna la fine della fase riproduttiva della tua vita e così è un momento significativo di cambiamento fisico, emotivo e mentale per molte donne ma, per generazioni, donne di tutte le età hanno vagato alla cieca in menopausa senza sapere cosa aspettarsi. Qui puoi scoprire alcune delle nozioni di base.

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Mestruazioni e menopausa sono ben noti biologici pietre miliari nella vita di una femmina. Contrariamente al pensiero popolare, la menopausa non è il periodo di mesi o anni in cui una donna sta "attraversando il cambiamento". "Questo lasso di tempo è chiamato perimenopausa. La menopausa è una data effettiva nel tempo. In particolare, è il 12 ° anniversario dell'ultimo ciclo mestruale di una donna. ...

Scelta dell'editore

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

È Possibile creare un filtro automatico personalizzato . Per fare ciò, seleziona il comando Filtro testo dal menu della tabella e scegli una delle opzioni di filtro del testo. Indipendentemente dall'opzione di filtro del testo selezionata, Excel visualizza la finestra di dialogo Filtro automatico personalizzato. Questa finestra di dialogo consente di specificare con estrema precisione quali record si desidera ...

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

DPRODUCT moltiplica i valori che corrispondono al criterio in un database Excel. Questo è potente ma anche in grado di produrre risultati che non sono l'intenzione. In altre parole, è una cosa da aggiungere e ricavare una somma. Questa è un'operazione comune su un set di dati. Osservando la seguente figura, è possibile ...

Come utilizzare la funzione DPRODUCT in Excel - dummy

Come utilizzare la funzione DPRODUCT in Excel - dummy

La funzione DPRODUCT in Excel è strana. La funzione DPRODUCT moltiplica i valori nei campi da un elenco di database in base ai criteri di selezione. Perché vorresti farlo? Chissà. La funzione utilizza la sintassi = DPRODUCT (database, campo, criteri) in cui il database è un riferimento all'intervallo alla tabella di Excel che contiene il valore desiderato ...

Scelta dell'editore

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Ci sono un paio di cose a cui vuoi pensare quando riutilizzi i nomi nella tua app per Android. È possibile dichiarare due variabili Java - bag1 e bag2 - per fare riferimento a due diversi oggetti BagOfCheese. Va bene. Ma a volte, avere solo una variabile e riutilizzarla per il secondo oggetto funziona altrettanto bene, ...

Java: Mettere a frutto l'uso della classe - dummies

Java: Mettere a frutto l'uso della classe - dummies

La classe Employee nell'elenco non ha alcun metodo principale , quindi non c'è un punto di partenza per l'esecuzione del codice. Per risolvere questo problema, il programmatore scrive un programma separato con un metodo principale e utilizza tale programma per creare istanze Employee. Questo elenco di codici mostra una classe con un metodo principale - uno che inserisce il ...

Classi wrapper java - dummies

Classi wrapper java - dummies

La differenza tra tipi primitivi e tipi di riferimento è una delle funzionalità più controverse di Java e gli sviluppatori si lamentano spesso sulle differenze tra valori primitivi e valori di riferimento. Ogni tipo primitivo viene cotto nella lingua. Java ha otto tipi primitivi. Ogni tipo di riferimento è una classe o un'interfaccia. È possibile definire il proprio ...