【问题标题】:Spark fix task number for Spark SQL jobsSpark SQL 作业的 Spark 修复任务号
【发布时间】:2016-08-09 13:13:05
【问题描述】:

我经常看到 Apache Spark 安排一系列阶段,其中涉及固定的 200 个任务。由于这种情况不断发生在许多不同的工作中,我猜这在某种程度上与 Spark 配置之一有关。任何建议该配置可能是什么?

【问题讨论】:

    标签: apache-spark apache-spark-sql


    【解决方案1】:

    200 是 shuffle 期间使用的默认分区数,由 spark.sql.shuffle.partitions 控制。它的值可以使用SQLContext.setConf在运行时设置:

    sqlContext.setConf("spark.sql.shuffle.partitions", "42")
    

    RuntimeConfig.set

    spark.conf.set("spark.sql.shuffle.partitions", 42)
    

    【讨论】:

    • 谢谢,去试试。但是你建议 42 有什么原因吗?我正在考虑增加数量。
    • 只是因为这是所有问题的答案 :) 说真的,尽管这取决于您的数据和设置,所以我只是使用了想到的第一个数字。
    • 解决了这个问题。就我而言,我将其增加到 512。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    相关资源
    最近更新 更多