Bonjour,
J'ai un petit souci avec Hadoop que j'etais entrain d essayer de resudre depuis deux jours mais en vain !!
J ai la methode map suivante:
ouMyObject est un object que j ai cree:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public void map(LongWritable key, Text value, OutputCollector<Text, MyObject> output, Reporter reporter) throws IOException { try { ForXmlHandling message = (ForXmlHandling) unmarshaller.unmarshal(new StringReader(value.toString())); MyObject row = XmlParser.parse(message); row.setOrigin(true); output.collect(new Text(row.getRecordKey().toString()), row); } catch(JAXBException e) { LOG.debug(e); }
E fait, en lancant le mapper dans le mode debug, meme en settant l attribut origin de l pbjet row à true, l'output du mapper (output.collect) est toujours un object row mais avec l attribut origin setté à false (valeur par defaut d un boolean). Je ne comprends pas qu est ce que le probleme avec output.collect et pourquoi il ne prend pas l objet row mis a jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class MyObject { private boolean original; private boolean split; .... }
Auriez vous des idees ? Aurais je rate quelque chose ?
Merci d avance de votre aide!!
Partager