当我提交火花流媒体作业时,它会创建一个包含70个任务的作业,并在2秒内完成。然后它启动相同的工作,运行一个任务,这是所需的行为。该工作是通过自定义接收器接收mq数据。
我提交的jar只包含一个MQ自定义接收器和kafka接收器。没有处理器。它只是将收到的内容发送给kafka。
我可以在火花日志中找到以下内容。 但除此之外,我不知道为什么它会在启动时创造出如此多的任务。
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))
答案 0 :(得分:0)
在阶段1期间从外部洗牌服务中获取中间洗牌结果时发生提取失败时,从ShuffleMapStage 0提交了50个丢失的任务。
这将触发对任务集的重新尝试,以重新计算随机映射输出,然后重新触发当前任务