如果我在每行有一个随机整数的文件,并且想要使用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. 处理小文件映射减少hadoop
- 4. 映射并减少返回的NAN值
- 5. Mongodb并发映射减少
- 6. couchdb中的关键排序和映射减少
- 7. 使用Hadoop和HBase减少一个映射然后减少
- 8. 并行映射减少Hadoop中的作业
- 9. Hadoop map减少移除小于或大于映射器的值
- 10. 如何映射 - 减少组,对排序值进行排序和计数
- 11. Mongodb映射减少与Apache Spark映射减少
- 12. hadoop map减少二级排序
- 13. 映射器输入键值对Hadoop中
- 14. MongoDB中嵌套值的映射减少
- 15. 映射减少程序抛出异常IOException“类型不匹配键映射”
- 16. java并发映射按值排序
- 17. 按值排序并发映射条目
- 18. MongoDB:映射没有减少?
- 19. 映射/减少计数的两阶段排序
- 20. 映射/减少和排序嵌套文档
- 21. Java数据结构:映射重复键并按值排序
- 22. 完成减少任务后Hadoop - 映射任务继续
- 23. 将数据写入Cassandra Hadoop映射器(不减少)
- 24. Hadoop将数据从映射器减少到组合器
- 25. Hadoop的一个映射和多个减少
- 26. 在Hadoop中映射和减少class属性
- 27. WEKA类映射和减少KMeans阶段在hadoop上聚类
- 28. XML文件输入映射/减少Hadoop Windows服务器
- 29. Hibernate映射减排问题
- 30. Hadoop流式缩减器映射器
详细的解释发布在下面的链接[how-to-produce-sorted-file-using-hadoop](http://sarveshspn.blogspot.in/2012/02/how-to-produce-sorted- file-using-hadoop.html) – seahorse