【问题标题】:PySpark Task SizePySpark 任务大小
【发布时间】:2020-11-07 13:09:49
【问题描述】:

我目前在版本 2.4.5 上有一个由 1 个驱动程序和 2 个工作人员组成的 Spark 集群。

我想进一步优化并行性以在加载和处理数据时获得更好的吞吐量,当我这样做时,我经常在控制台上收到这些消息:

WARN scheduler.TaskSetManager: Stage contains a task of very large size (728 KB). The maximum recommended task size is 100 KB.

这是如何工作的?我对 Spark 技术相当陌生,但了解它的基础知识,我想知道如何优化它,但我不确定它是否涉及将 Slave 配置为拥有更多执行器,这样可以获得更多并行性,或者如果我需要使用合并或重新分区功能对我的数据框进行分区。

提前谢谢你们!

【问题讨论】:

    标签: python apache-spark pyspark cluster-computing


    【解决方案1】:

    这里的一般要点是您需要重新分区以获得更多但更小的分区,以便获得更多的并行度和更高的吞吐量。 728k 是与您的舞台相关的任意数字。我刚开始使用 Scala 和 Spark 时有时会遇到这种情况。

    我看不到你的代码,所以我把它留在这里。但是在 SO 上搜索这里也表明缺乏并行性。老实说,众所周知。

    【讨论】:

    • 老实说没有太多代码,我问的是一般图片。我所做的只是读取带有 sparkContext 的 parquet 文件,然后开始处理它以获取信息。我如何才能对这个数据框进行更多分区,或者如何在我的工人奴隶上获得更多的执行者?
    • 重新分区或合并。这是一个很常见的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2017-05-28
    • 2021-04-26
    相关资源
    最近更新 更多