开发者社区 问答 正文

mapreduce优化中reduce阶段是什么?

mapreduce优化中reduce阶段是什么?

展开
收起
芯在这 2021-12-11 10:51:55 419 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • a、合理设置map和reduce数:太少,会导致task等待,延长处理时间;太多,会导致 map、reduce任务间竞争资源,造成处理超时等错误。

    b、合理设置reduce端的buffer:默认情况下,数据达到一个阈值的时候,buffer中的数据就会写入磁盘,然后reduce会从磁盘中获得所有的数据。buffer和reduce是没有直接关联的,中间多个一个写磁盘->读磁盘的过程,既然如此可以通过参数来配置,使得buffer中的一部分数据可以直接输送到reduce,从而减少IO开销。mapred.job.reduce.input.buffer.percent,默认为0.0。当值大于0的时候,会保留指定比例的内存读buffer中的数据直接拿给reduce使用。

    2021-12-11 10:52:20 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等