hadoop - Hadoop Mapper为什么要对数据进行排序?

标签 hadoop mapreduce

我意识到创建一个键排序列表以发送到 reducer 是映射器的主要目标。然后,如果列表非常大,则需要在映射器中对其进行分区,以便它可以由 reducer 处理(我的意思是对于唯一键,值列表很大,因此需要对其进行分区),但为什么 hadoop 确实需要排序映射器中的键。有人问我这个问题,我无法完全说服他。我只是一个初学者,有点好奇。感谢您的帮助。

最佳答案

排序发生在 mapper 阶段之后和执行 reducer 作业之前,您不需要明确地进行。

请引用similar question

关于hadoop - Hadoop Mapper为什么要对数据进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27559350/

相关文章:

java - 使用java流实现map-reduce

MongoDB 高级计数查询,取决于文档的内容

hadoop - java.lang.NoClassDefFoundError : org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat 错误

hadoop - apache pig 中的子查询

hadoop - Cloudera Docker 镜像......一切都出错了

java - 如何在映射器中合并值?

hadoop - Hive 查询不断失败。如何以最佳方式连接非常大的表?

hadoop - 如何检查 sort merge bucket join 是否在 HIVE 中工作?

java - 如何高效读写Parquet文件?

hadoop - 如何在映射器中为每个输入记录输出单独的文件?