【问题标题】:Submitting 50 missing tasks from ShuffleMapStage - spark log explanation从 ShuffleMapStage 提交 50 个缺失的任务 - spark log 解释
【发布时间】:2018-09-01 16:13:39
【问题描述】:

当我提交 spark 流作业时,它会创建一个包含 70 个任务的作业,并且它会在 2 秒内完成。然后它启动同一个作业,运行一个任务,这是所需的行为。该作业正在通过自定义接收器接收 mq 数据。

我提交的 jar 只包含一个 MQ 自定义接收器和 kafka 接收器。没有处理器。它只是将收到的内容发送到 mq 到 kafka。

我可以在 spark 日志中找到以下内容。 但除此之外,我不知道为什么它在开始时会创建如此多的任务。

INFO DAGScheduler:54 - 从 ShuffleMapStage 0 提交 50 个缺失的任务(MapPartitionsRDD[1] 在 Streaming.java:59 开始)(前 15 个任务用于分区 Vector(0, 1, 2, 3, 4, 5, 6、7、8、9、10、11、12、13、14))

【问题讨论】:

  • 我也面临同样的问题。有没有办法解决这个问题或使运行更快?或者我们可以减少这个吗?这取决于我提到的 shuffle 分区还是我调用 spark 数据帧的所有地图?

标签: apache-spark spark-streaming


【解决方案1】:

在第 1 阶段从外部随机播放服务获取中间随机播放结果时发生提取失败时,从 ShuffleMapStage 0 提交 50 个丢失的任务。

这会触发重新尝试任务集以重新计算 shuffle map 输出,然后重新触发当前任务

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 2020-05-10
    • 2011-11-09
    相关资源
    最近更新 更多