如果我在每行有一个随机整数的文件,并且想要使用Hadoop对文件进行排序,那么我的映射器和Reducer的输入/输出键和值会是什么?Hadoop排序映射并减少键值
回答
雅虎有sorted Peta和Tera字节的数据。其他人(包括Google)定期执行,您可以在互联网上搜索排序基准。雅虎已经发布了一个paper他们如何做到这一点。
'org.apache.hadoop.examples.terasort'包中有用于排序数据的示例代码。
在Cloudera博客here上找到了更多信息。有一些内置的类可以使排序更容易。
总订单分区HADOOP-3019。作为TeraSort记录的衍生产品,Hadoop现在具有用于高效生成全局排序输出的库类。 InputSampler用于对输入数据的一个子集进行采样,然后使用TotalOrderPartitioner将映射输出分区为大小相等的分区。非常整齐的东西 - 非常值得一看,即使你不需要使用它。
您还可以找到更多信息here。
我是Hadoop的新手,你能更具体地了解mapper和reducer的键/值是用来排序上面描述的文件吗? – user176121
正如我在原来的文章中提到,检查[这里](http://stackoverflow.com/questions/7607569/hadoop-what-should-be-mapped-and-what-should-be-reduced)了解更多信息。 –
更理论上的答案:考虑不同的排序算法(快速排序,合并排序,冒泡排序等)。
由于我们知道可以在线性时间内合并两个排序列表,因此通过在其上面放置“合并”步骤来并行排序算法非常简单。因此,您可以使用多种选项来完成此任务。
的terasort比这要聪明得多,但是,因为简单地拆分和合并不会解决所有的问题....你最终的“合并”一步对应于一个巨大的一步降低,当你有很多的分裂的。
- 1. 分离Hadoop映射并减少任务
- 2. 排队和映射/减少
- 3. 映射并减少返回的NAN值
- 4. couchdb中的关键排序和映射减少
- 5. 使用Hadoop和HBase减少一个映射然后减少
- 6. 并行映射减少Hadoop中的作业
- 7. Hadoop map减少移除小于或大于映射器的值
- 8. 如何映射 - 减少组,对排序值进行排序和计数
- 9. MongoDB中嵌套值的映射减少
- 10. 映射减少程序抛出异常IOException“类型不匹配键映射”
- 11. 按值排序并发映射条目
- 12. MongoDB:映射没有减少?
- 13. 映射/减少和排序嵌套文档
- 14. 映射/减少计数的两阶段排序
- 15. Java数据结构:映射重复键并按值排序
- 16. 在Hadoop中映射和减少class属性
- 17. Hadoop将数据从映射器减少到组合器
- 18. Hibernate映射减排问题
- 19. Hadoop流式缩减器映射器
- 20. 映射减少值列表顺序问题
- 21. 键值映射
- 22. 在Haskell中实现高效的并行映射并减少
- 23. Hadoop映射器和减速器值类型不匹配错误
- 24. Hadoop减少错误
- 25. Hadoop的:一个值(爪哇)的(键,值)的映射器
- 26. 当Count = 0时,MongoDB映射减少排除
- 27. 了解在Hadoop中减少合并
- 28. Java 8文件readAlllines映射和减少
- 29. Javascript/JQuery中的异步映射/减少
- 30. Neo4j-ogm:减少写入/映射性能
详细的解释发布在下面的链接[how-to-produce-sorted-file-using-hadoop](http://sarveshspn.blogspot.in/2012/02/how-to-produce-sorted- file-using-hadoop.html) – seahorse