我在Python中有一个spark-streaming
工作,它通过KafkaUtils.createDirectStream
直接从Kafka读取,然后通过reduceByKeyAndWindow
(see here)处理数据。
但是,我现在遇到一个奇怪的问题,作业运行1min
窗口设置,但有时数据处理时间需要10min
,我发现每次都是发生了一些奇怪的问题,看起来单个任务比其他任务花费的时间太长,请看下面的数字。
有516个任务,其中515个已完成,1个落后。
如果我按照说明链接进一步深入挖掘,这是我找到的(见下文),看起来像是多个阶段,所有以前的阶段都很快完成(持续时间少于1秒),但是最后阶段有 36 任务,其中35个已完成但 1落后。
知道为什么会出现这个问题吗?