Apache spark apachespark';s性能调整

Apache spark apachespark';s性能调整,apache-spark,Apache Spark,我正在做一个项目,我必须调整spark的表现。我发现了四个最重要的参数,这将有助于调整spark的性能。详情如下: 火花、记忆、分数 spark.memory.offHeap.size spark.storage.memoryFraction spark.shuffle.memoryFraction 我想知道我的方向是否正确?请让 我知道如果我错过了一些其他参数也 提前谢谢。这是一个相当宽泛的诚实回答。优化性能的正确途径主要在相关章节的正式文档中描述 一般来说,有很多因素可以优化spark工作:

我正在做一个项目,我必须调整spark的表现。我发现了四个最重要的参数,这将有助于调整spark的性能。详情如下:

  • 火花、记忆、分数
  • spark.memory.offHeap.size
  • spark.storage.memoryFraction
  • spark.shuffle.memoryFraction
  • 我想知道我的方向是否正确?请让 我知道如果我错过了一些其他参数也


    提前谢谢。

    这是一个相当宽泛的诚实回答。优化性能的正确途径主要在相关章节的正式文档中描述

    一般来说,有很多因素可以优化spark工作:

    • 数据序列化
    • 内存调整
    • 平行度
    • Reduce任务的内存使用
    • 广播大变量
    • 数据位置
    它主要集中在数据序列化、内存调优和精度/近似技术之间的权衡,以快速完成工作

    编辑:

    由@zero323提供:


    我要指出的是,除了问题中提到的一个选项外,其他所有选项都已被弃用,并且仅在遗留模式下使用


    我们可以把这个问题分成两部分

  • 让它跑起来
  • 优化成本或时间
  • 如果一般取决于所讨论的内存是spark执行内存还是用户内存,spark将溢出或OOM。我认为内存调优部分还将包括执行器内存的总大小

    关于第二个问题:如何优化成本、时间、计算等,请尝试Sparkrens无耻插件(作者)。大多数情况下,真正的问题不在于应用程序是否运行缓慢,而在于它是否可以扩展,或者它是否使用给定的资源。对于大多数应用程序,答案都是有限的

    spark应用程序的结构对其可扩展性提出了重要限制。一个阶段中的任务数量、阶段之间的依赖关系、偏差以及在驱动端完成的工作量是主要的约束条件


    Sparkrens的最佳功能之一是,它模拟并告诉您spark应用程序在不同执行器计数下的性能,以及每个执行器计数下的预期集群利用率水平。帮助您在时间和效率之间做出正确的权衡。

    我要指出,除了问题中提到的一个选项外,其他所有选项都已弃用,仅在传统模式下使用。谢谢@zero323!