gpt4 book ai didi

hadoop - 哪个节点对 Hadoop 中的键进行排序/洗牌?

转载 作者:可可西里 更新时间:2023-11-01 15:06:44 27 4
gpt4 key购买 nike

在 Hadoop 作业中,哪个节点执行排序/混洗阶段?增加该节点的内存是否会提高排序/混洗的性能?

最佳答案

根据我的经验,在 mapred.site.xml 中调整的相关参数是:

  • io.sort.mb 这是映射器的输出缓冲区。当此缓冲区已满时,数据将被排序并溢出到磁盘。理想情况下,您可以避免多次溢出。请注意,此内存是 maptask 堆大小的一部分。
  • mapred.map.child.java.opts 这是 map 任务的堆大小,它越大,您可以放置​​的输出缓冲区大小就越大。
  • 原则上,reduce 任务的数量也会影响 shuffle 速度。 reduce轮数为reduce槽总数/reduce任务数。请注意,初始洗牌(在映射阶段)只会将数据洗牌到事件的 reducer 。所以 mapred.reduce.tasks 也是相关的。
  • io.sort.factor 是在 map 和 reduce 端执行合并排序的线程数。
  • 压缩也有很大的影响(它加快了从 mapper 到 reducer 的传输,但压缩/解压是有代价的!
  • mapred.job.shuffle.input.buffer.percent 是在内存中存储 map 输出的 reducer 堆的百分比。

毫无疑问,还有更多的调整机会,但这些是我花了很多时间尝试的。

关于hadoop - 哪个节点对 Hadoop 中的键进行排序/洗牌?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19674843/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com