gpt4 book ai didi

apache-spark - 为什么要增加 spark.yarn.executor.memoryOverhead?

转载 作者:行者123 更新时间:2023-12-04 04:57:19 25 4
gpt4 key购买 nike

我正在尝试加入两个大型 Spark 数据帧并不断遇到此错误:
Container killed by YARN for exceeding memory limits. 24 GB of 22 GB physical memory used. Consider boosting spark.yarn.executor.memoryOverhead.
这似乎是 spark 用户的常见问题,但我似乎找不到关于 spark.yarn.executor.memoryOverheard 是什么的任何可靠描述。在某些情况下,这听起来像是 YARN 杀死容器之前的一种内存缓冲区(例如,请求了 10GB,但 YARN 在使用 10.2GB 之前不会杀死容器)。在其他情况下,它听起来像是被用来执行某种与我想要执行的分析完全分开的数据会计任务。我的问题是:

  • spark.yarn.executor.memoryOverhead 的用途是什么?
  • 增加这种内存而不是增加这种内存有什么好处
    执行器内存(或执行器数量)?
  • 总的来说,我是否可以采取一些措施来减少我的
    spark.yarn.executor.memory 开销使用(例如特定
    数据结构,限制数据帧的宽度,使用更少的执行器和更多的内存等)?
  • 最佳答案

    the configuration document 中很好地解释了开销选项:

    This is memory that accounts for things like VM overheads, interned strings, other native overheads, etc. This tends to grow with the executor size (typically 6-10%).



    如果您使用一种非 JVM guest 语言(Python、R 等),这也包括用户对象。

    关于apache-spark - 为什么要增加 spark.yarn.executor.memoryOverhead?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49988475/

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