我正在学习MapReduce。我面临一些问题。
我的数据是……(例子)。<Doc>
<ID> No-001 </ID>
<Value> This is 001 Value. </Value>
</Doc>
<Doc>
<ID> No-002 </ID>
<Value> This is 002 Value. </Value>
</Doc>
...
我需要把上面的文字改成…
This is 001 Value. No-001
This is 002 Value. No-002
...
我想在MapReduce中发送多行Mapper的值。关键是任何东西。我已经找了一些例子,但我无法解决这个问题。
为了解决这个问题,我认为我必须处理InputFormat。
请回答这个问题
应该使用Mahout XMLinputFormat类对xml文件进行解析。它允许你像这样配置你的驱动程序代码:
conf.set("xmlinput.start", "<Doc>");
conf.set("xmlinput.end", "</Doc>");
job.setInputFormatClass(XmlInputFormat.class);
然后在您的映射器中,您可以使用您喜欢的任何解析器处理xml内容。有一个很好的教程XmlInputFormat类