【问题标题】:How spark creates stages and divides them into small tasks for spark data stream?spark如何创建stage并将它们划分为spark数据流的小任务?
【发布时间】:2018-10-14 12:57:20
【问题描述】:

当我在 spark 中为来自 kafka 的传入数据创建数据流时,我收到以下警告 - WARN TaskSetManager: Stage 1 包含一个非常大的任务 (1057 KB)。建议的最大任务大小为 100 KB。

所以我认为我需要增加任务大小,那么我们可以通过增加 RDD 的分区数来解决这个问题吗?以及一个stage是如何划分成小任务的,我们如何配置这些任务的大小?

提前致谢。

【问题讨论】:

    标签: apache-spark spark-dataframe spark-streaming


    【解决方案1】:

    那么我们可以通过增加 RDD 的分区数来解决这个问题吗?

    一点也不。任务大小是发送给执行者的数据量。这包括函数定义和序列化闭包。在这里修改拆分对您没有帮助。

    一般来说,这个警告并不重要,我不会太担心,但它暗示你应该再看看你的代码:

    • 您是否使用动作/转换引用大对象?如果是,请考虑使用广播变量。
    • 您确定只发送您希望发送的内容,而不是封闭范围(如大型对象)。如果问题出在此处,请处理您的代码结构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      • 2018-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-23
      相关资源
      最近更新 更多