如何在MapReduce中发送多行文本到key/value,而不是单行



我正在学习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类

相关内容

  • 没有找到相关文章

最新更新