Mapreduce文本文件排序

时间:2014-05-02 19:34:32

标签: java hadoop mapreduce

我们可以按字母顺序对文本文件的每一行进行排序。是否可以用mapreduce格式编写java代码?

例如:

 input : it is a lion
         what is her name
         that is crazy

output: it is a lion
        that is crazy
        what is her name

2 个答案:

答案 0 :(得分:0)

您应该首先创建文件对象,即File()对象。然后使用bufferReader读取每一行(查找该对象的文档,这是非常自我解释)。你将使用.readLine()方法,因此它将通过每一行给你一个迭代器。然后,您希望将每一行存储在一个散列映射中,其中您的键是每行的第一个字母,值是您使用该字母找到的任何行的列表。

完成后,创建一个StringBuilder对象并按字母顺序添加每一行。

答案 1 :(得分:0)

您需要编写一个没有Mapper类且没有Reducer类的驱动程序代码。内置的默认IdentityMapper和IdentityReducer将为您完成工作。