Casa Finanza personale Della fase mappa del flusso di applicazioni MapReduce di Hadoop - dummies

Della fase mappa del flusso di applicazioni MapReduce di Hadoop - dummies

Video: Hadoop Processing Frameworks 2025

Video: Hadoop Processing Frameworks 2025
Anonim

Un'applicazione MapReduce elabora i dati nelle suddivisioni di input su una base record per record e che ogni record viene interpretato da MapReduce come chiave / valore coppia. Dopo aver calcolato le divisioni di input, le attività del mapper possono iniziare a elaborarle, ovvero subito dopo che la funzione di pianificazione del Resource Manager assegna loro le proprie risorse di elaborazione. (In Hadoop 1, JobTracker assegna le attività di mappatura a specifici slot di elaborazione.)

Il compito del mappatore stesso elabora il suo input diviso un record alla volta - nella figura, questo record solitario è rappresentato dalla coppia chiave / valore. Nel caso dei nostri dati di volo, quando vengono calcolate le divisioni di input (utilizzando il metodo di elaborazione file predefinito per i file di testo), si assume che ogni riga nel file di testo sia un singolo record.

Per ogni record, il testo della riga stessa rappresenta il valore e l'offset di byte di ogni riga dall'inizio della divisione è considerato la chiave.

Ci si potrebbe chiedere perché il numero di riga non viene utilizzato al posto dell'offset di byte. Se si considera che un file di testo di grandi dimensioni è suddiviso in molti blocchi di dati individuali e viene elaborato con molte suddivisioni, il numero di riga è un concetto rischioso.

Il numero di righe in ogni divisione varia, quindi sarebbe impossibile calcolare il numero di righe precedenti a quello in elaborazione. Tuttavia, con l'offset di byte, puoi essere preciso, perché ogni blocco ha un numero fisso di byte.

Poiché un compito del mappatore elabora ogni record, genera una nuova coppia chiave / valore: la chiave e il valore qui possono essere completamente diversi dalla coppia di input. L'output dell'attività del mappatore è la raccolta completa di tutte queste coppie chiave / valore.

Prima che venga scritto il file di output finale per ogni attività del programma di mappatura, l'output viene partizionato in base alla chiave e ordinato. Questo partizionamento significa che tutti i valori per ogni chiave sono raggruppati insieme.

Nel caso di un'applicazione di esempio abbastanza semplice, c'è solo un singolo riduttore, quindi tutto l'output dell'attività del mappatore viene scritto su un singolo file. Ma nei casi con riduttori multipli, ogni attività di mappatura può generare anche più file di output.

La suddivisione di questi file di output si basa sulla chiave di partizionamento. Ad esempio, se sono disponibili solo tre chiavi di partizionamento distinte per le attività del mapper e sono stati configurati tre riduttori per il lavoro, saranno presenti tre file di output del mapping. In questo esempio, se un particolare task del mappatore elabora una divisione di input e genera output con due delle tre chiavi, ci saranno solo due file di output.

Comprimi sempre i file di output delle attività del mapper. Il vantaggio maggiore qui è rappresentato dai guadagni in termini di prestazioni, poiché la scrittura di file di output più piccoli riduce al minimo l'inevitabile costo del trasferimento dell'output del mapping ai nodi in cui sono in esecuzione i riduttori.

Il partizionatore predefinito è più che adeguato nella maggior parte delle situazioni, ma a volte potresti voler personalizzare la partizione dei dati prima che vengano elaborati dai riduttori. Ad esempio, è possibile che i dati nei set di risultati vengano ordinati in base alla chiave e ai relativi valori, noti come ordinamento secondario .

Per fare ciò, è possibile sovrascrivere il partizionatore predefinito e implementare il proprio. Questo processo richiede una certa attenzione, tuttavia, poiché è necessario assicurarsi che il numero di record in ciascuna partizione sia uniforme. (Se un riduttore deve elaborare molti più dati rispetto agli altri riduttori, si aspetterà che il lavoro MapReduce finisca mentre il singolo riduttore oberato di lavoro sta attraversando il proprio insieme di dati sproporzionatamente grande.)

Usando file intermedi di dimensioni uniformi, si può sfruttare meglio il parallelismo disponibile nell'elaborazione di MapReduce.

Della fase mappa 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 ...