Mi sono guardato intorno per giorni cercando di trovare un modo utilizzando dati ridotti per un'ulteriore mappatura in hadoop. Ho oggetti della classe A
come dati di input e oggetti della classe B
come dati di output. Il problema è che durante la mappatura non vengono generati solo i numeri B
ma anche i nuovi A
s.Dividi dati ridotti in output e nuovo input in Hadoop
Ecco cosa mi piacerebbe realizzare:
1.1 input: a list of As
1.2 map result: for each A a list of new As and a list of Bs is generated
1.3 reduce: filtered Bs are saved as output, filtered As are added to the map jobs
2.1 input: a list of As produced by the first map/reduce
2.2 map result: for each A a list of new As and a list of Bs is generated
2.3 ...
3.1 ...
si dovrebbe ottenere l'idea di base.
Ho letto molto sul concatenamento, ma non sono sicuro di come combinare ChainReducer e ChainMapper o anche se questo sarebbe l'approccio giusto.
Quindi, ecco la mia domanda: Come posso dividere i dati mappati mentre si riduce a salvare una parte come output e l'altra parte come nuovi dati di input.
prega nota che questi esempi di codice sono per Hadoop 0. * ma non 1.0 .4. Poiché sto lavorando con 1.0.4, le interfacce sono leggermente cambiate. Ma l'idea di base era ciò che stavo cercando. Grazie! – Mennny
sì è vero. questo era per 0.20 – Amar