I metodi di installazione e pulizia sono richiamati rispettivamente in ciascuna attività di mappatura e di riduzione? Oppure vengono chiamati solo una volta all'inizio dei lavori globali di mapper e riduttore?metodi di impostazione e pulizia di Mapper/Reducer in Hadoop MapReduce
risposta
Vengono chiamati per ogni attività, quindi se si hanno 20 mapper in esecuzione, verrà richiamata l'installazione/pulizia per ognuno.
Un getcha è il metodo di esecuzione standard per entrambi i Mapper e Reducer non cattura eccezioni intorno alla mappa/riduce i metodi - quindi se viene lanciata un'eccezione in questi metodi, il metodo di pulizia non verrà chiamato.
Un chiarimento è utile. I metodi di installazione/pulitura vengono utilizzati per l'inizializzazione e la pulizia a livello di attività. All'interno di un'attività, la prima inizializzazione avviene con una singola chiamata al metodo setup() e quindi tutte le chiamate alla funzione map() [o reduce()] verranno eseguite. Successivamente verrà eseguita un'altra chiamata al metodo cleanup() prima di uscire dall'attività.
Si chiama per attività Mapper o attività Riduttore. Ecco il codice hadoop.
public void run(Context context) throws IOException, InterruptedException {
setup(context);
try {
while (context.nextKey()) {
reduce(context.getCurrentKey(), context.getValues(), context);
}
} finally {
cleanup(context);
}
}
Secondo l'impostazione mapreduce documentation e la pulizia sono chiamati per ogni Mapper e le attività del riduttore.
sul riduttore è possibile sul lavoro do job.setNumReduceTasks (1); e in questo modo la configurazione e la pulizia del riduttore verranno eseguite una sola volta.
- 1. Introduzione a MapReduce/Hadoop
- 2. Hadoop MapReduce I file di input multiple
- 3. Concatenamento di Hadoop MapReduce con pipe (C++)
- 4. Configurazione Hadoop: mapred. * Vs mapreduce. *
- 5. riutilizzare JVM in Hadoop mapreduce jobs
- 6. Impostazione parametri hadoop con boto?
- 7. Algoritmo di coefficiente di clustering locale distribuito (MapReduce/Hadoop)
- 8. Hadoop: come funziona OutputCollector durante MapReduce?
- 9. Impostazione autorizzazioni per cloudera hadoop
- 10. Hadoop MapReduce - un file di output per ciascun input
- 11. Hadoop MapReduce: è possibile definire due mapper e riduttori in una classe di lavoro hasdoop?
- 12. Hadoop MapReduce fornire le directory nidificate come input di lavoro
- 13. concatenamento Multi-Riduttori in un lavoro Hadoop MapReduce
- 14. È possibile stampare l'output di Mapper e riduttore per un singolo lavoro in Hadoop Mapreduce
- 15. Streaming di dati e Hadoop? (non Hadoop Streaming)
- 16. Impossibile trovare o caricare la classe principale com.sun.tools.javac.Main hadoop mapreduce
- 17. Impossibile eseguire un lavoro MapReduce su hadoop 2.4.0
- 18. Impostazione del livello di registrazione in Hadoop su WARN
- 19. Hadoop: Fornire la directory come input per il lavoro MapReduce
- 20. Hadoop MapReduce ha "Impossibile risolvere il nome host" errore
- 21. come implementare il calcolo degli autovalori con MapReduce/Hadoop?
- 22. Domanda di base su Hadoop e file di input compressi
- 23. Hadoop e diversi formati di input come Immagine, Audio, Video
- 24. Come posso inviare più di un lavoro a Hadoop in una fase utilizzando l'API Elastic MapReduce?
- 25. Impostazione fluida delle proprietà C# e metodi di concatenamento
- 26. Funzionamento di RecordReader in Hadoop
- 27. Amazon MapReduce nessun processo di riduzione
- 28. Impostazione dei jar esterni per il classpath hadoop
- 29. Mapreduce for dummies
- 30. Valori di riduzione Hadoop in memoria?
Si può sempre chiamare il metodo di pulizia nella clausola catch di un'eccezione in map/reduce. Tuttavia, ciò richiede un'analisi intelligente delle possibili eccezioni e l'inserimento di clausole 'try/catch' per catturarle. – abhinavkulkarni