2010-05-14 21 views
7

Ho provato a stampare i valori utilizzando System.out.println(), ma non appariranno sulla console. Come posso stampare i valori in una mappa/ridurre l'applicazione per il debugging usando Hadoop?Debug di applicazioni hadoop

Grazie, Deepak.

+1

consultare qui https://stackoverflow.com/questions/23235343/debugging -hadoop-in-eclipse – Mash

risposta

5

I punti pagina @SquareCog per è una buona fonte di informazioni sul debug di un lavoro MapReduce una volta che si esegue lo su una nuvola.

Prima di raggiungere questo punto, è consigliabile prendere in considerazione la scrittura di unit test per i propri mapper e riduttori, in modo da verificare che la logica di base funzioni. Se sei interessato a test unitari per testare la tua mappa e ridurre la logica, controlla mrunit, che funziona in modo simile a JUnit.

+1

Umm la pagina che ho indicato parla di MRUnut :) Ma certo. – SquareCog

+0

@SquareCog - Il mio male, ho dato per scontato che sapessi a quale pagina hai collegato. È una buona fonte di informazioni: +) –

3

Vorrei aggiungere che è possibile utilizzare CountersHadoop JavaDoc anche per il debug. Per esempio. se si desidera verificare, con quale frequenza viene trasmessa una determinata riga del programma.

0

System.out.println non è diretto al terminale ma è scritto nei file di registro. I file di registro si trovano nella directory Hadoop per impostazione predefinita. Quindi puoi digitare il terminale cat /hadoop-homedirectory/logs/userlogs/jobID/attemptID/stdout Puoi anche accedere al tuo tramite l'interfaccia web. Digita ip: 50070/logs/userlogs.

0

Se si utilizza MRUnit & ApprovalTests, è molto semplice stampare il processo di riduzione di una mappa. C'è un video su di esso qui: http://t.co/leExFVrf

Per esempio il codice

HadoopApprovals.verifyMapReduce(new WordCountMapper(), 
          new WordCountReducer(), 0, "cat cat dog"); 

produrrà l'output:

[cat cat dog] 
-> maps via WordCountMapper to -> 
(cat, 1) 
(cat, 1) 
(dog, 1) 

-> reduces via WordCountReducer to -> 
(cat, 2) 
(dog, 1) 
Problemi correlati