我想用hadoopmapreduce分析一个文本文件。
cvs文件更容易分析,因为它可以区分带有','的列
但是文本文件不能像cvs文件那样进行区分。
这是一种文本文件格式。
2015-8-02 error2014 blahblahblahblah
2015-8-02 blahblahbalh error2014
我想要一个输出作为
date contents sum of errors
2015-8-02 error2014 2
我想这样分析。我该如何处理mapreduce程序。
1条答案
按热度按时间6mw9ycah1#
假设文本文件的格式如下:
2015-8-02
错误2014布拉赫布拉赫布拉赫布拉赫布拉赫布拉赫布拉赫布拉赫
2015-8-02
布拉布拉赫巴赫错误2014
您可以使用nlineinputformat。
与
NLineInputFormat
功能,您可以指定一个Map器应该有多少行。在您的情况下,可以使用为每个Map器输入2行。
编辑:
以下是使用nlineinputformat的示例:
Map器类:
驾驶员等级:
然后可以从行中提取日期和错误。在提取完日期和错误之后,您可以像wordcount示例一样,将它们作为复合键或串联字符串作为键和intwritable作为值传递,然后在reducer类中执行类似于wordcount示例的基本添加。
我希望我能回答你的问题。