Ora ho un lavoro MapReduce 4 fasi come segue:concatenamento Multi-Riduttori in un lavoro Hadoop MapReduce
Input-> Map1 -> Reduce1 -> Reducer2 -> Reduce3 -> Reduce4 -> Output
mi accorgo che c'è ChainMapper
classe in Hadoop che può catena vari mapper in un unico grande mapper, e salvare il costo I/O del disco tra le fasi della mappa. Esiste anche una classe ChainReducer
, tuttavia non è un vero "riduttore di catena". Può supportare solo lavori come:
[Map+/ Reduce Map*]
so di poter impostare quattro posti di lavoro MR per il mio compito, e mapper utilizzo di default per gli ultimi tre posti di lavoro. Ma costerà un sacco di I/O su disco, poiché i riduttori dovrebbero scrivere il risultato su disco per consentire al seguente mappatore di accedervi. C'è qualche altra caratteristica integrata di Hadoop per mettere in catena i miei riduttori per ridurre il costo di I/O?
Sto usando Hadoop 1.0.4.
Anche io sarei molto interessato a questo, se è possibile. –