mapreduce按块读取数据(默认128M),如果文件很大,那么就会起很多个maptask。每个maptask读取数据后会写入到各自的环形缓冲区(默认100M)。假设有1000个maptask,那么是不是就得需要 1000*100M内存?
3条回答 默认 最新
暴躁码农 2020-12-28 15:05关注我没用过Hadoop,但我还是想叭叭。
我觉得不是啊,如果按块读取大文件确实会启很多歌maptask,每个maptask确实可能超出各自的环形缓冲区造成oom,但还可以溢写呀。先写磁盘里,然后再合并。
瞎叭叭一句,不对再说。
解决 无用评论 打赏 举报