首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用hadoop对大型文本文件进行排序

问使用hadoop对大型文本文件进行排序
EN

Stack Overflow用户
提问于 2013-02-15 22:21:21
回答 3查看 5.7K关注 0票数 1

是否可以使用mapreduce作业按字典顺序对一个巨大的文本文件进行排序,该作业只有map任务,而没有reduce任务?

文本文件的记录由换行符分隔,文件大小约为1 Terra Byte。

如果任何人能提出一种方法来实现对这个巨大文件的排序,那就太好了。

EN

回答 3

Stack Overflow用户

发布于 2013-02-20 16:30:27

使用TreeSet in Map方法保存输入拆分中的整个数据,并将其持久化。最后我得到了排序后的文件!

票数 3
EN

Stack Overflow用户

发布于 2013-02-16 06:18:05

实际上,有一个与Hadoop捆绑在一起的排序示例。您可以通过检查类org.apache.hadoop.examples.Sort来查看示例代码是如何工作的。这本身工作得很好,但是如果你想让你的排序更灵活,你可以查看this。

票数 2
EN

Stack Overflow用户

发布于 2013-02-15 22:27:07

Hadoop中的排序是使用分区程序完成的-您可以编写自定义分区程序来根据您的业务逻辑需求进行排序。有关编写自定义分区程序http://jugnu-life.blogspot.com/2012/05/custom-partitioner-in-hadoop.html的信息,请参阅此链接

我并不提倡使用普通的linux排序命令对to级的数据进行排序-您将需要拆分数据以适合内存来对大文件大小进行排序:Parallel sort in linux

使用Hadoop MergeSort会更好、更方便:Hadoop MergeSort

您可以在这里查看来自Yahoo Hadoop团队(现在的Hortonworks)的一些Hadoop排序基准和分析:Hadoop Sort benchmarks

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14896719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档