【问题标题】:Spark Memory tuningSpark 内存调优
【发布时间】:2021-12-31 07:52:00
【问题描述】:

谁能告诉我如何调整 spark 执行器核心、内存、执行器数量。我读到的所有文档都来自集群端(https://spoddutur.github.io/spark-notes/distribution_of_executors_cores_and_memory_for_spark_application.html)。但我想知道我们如何调整这些与特定输入文件相关的参数。

例如:我不想对 1 GB 使用相同的参数,而在同一个集群中使用 250 Gb。

【问题讨论】:

    标签: apache-spark memory apache-spark-sql sql-execution-plan


    【解决方案1】:

    您可以找到一篇优秀的文章here 来选择正确的火花参数。

    在配置 spark executors/cores/memory 时提供极其重要的目标是确保以最佳方式充分利用所有资源,以在处理任何输入大小(1 GB, 100 GB,1 TB)。

    从输入文件数据的角度来看,必须使输入文件的分区大小正确(默认为 128 MB)并确保分区数据适合执行程序内存而不会溢出(理想情况)。还要记住,每个数据分区将由执行器中的单个核心处理,因此执行器内存应该能够容纳多个输入分区(分区等于执行器中的核心数)以实现最佳执行时间。

    以下参数将控制每个分区的字节数。

    spark.files.maxPartitionBytes
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多