在Map Reduce程序中,单个映射器可以发出的键值对数量是否有上限?
我对Hadoop 1.x和2.x感兴趣。我用谷歌搜索了它,找不到任何答案,或者根本没有提及它。
谢谢
答案 0 :(得分:0)
单个映射器发出的键值对数量无限制。
映射器继续生成写入缓冲区的输出。此缓冲区的大小由配置 mapreduce.task.io.sort.mb 确定[默认值:256MB(CDH),100MB(源代码)]。
只要此缓冲区占用率达到容量的 mapreduce.map.sort.spill.percent [Def:0.8],缓冲区内容就会溢出(非阻塞进程)到本地磁盘 - 溢出文件。