功能说明

适用模块

spark任务卡住或者jobs运行完成后任务一直不结束。

具体说明

经常会有同学拿着一个 Spark SQL 任务来问,我这个任务卡在哪里了,所有 stage 都已经完成了为什么任务还没结束。有些善于观察的同学还会截出关键部位的日志来灵魂拷问,这里是在做什么。当然这些疑问都是对的,确实存在慢的问题,也存在着优化的空间。而这个慢的问题就出在 commit job

使用示例

FAQ-如何看到卡住spark任务的driver thread dump - 图1 如图,这个任务所有 stage 跑完才花了20多分钟,但是这个任务的总运行时间居然有2个多小时。这个剩下的时间去哪了?

这种情况一把首先查看driver日志信息。可能driver日志没有具体打印。可以通过 driver thread dump 来真实的看到 commit job 在做些什么,点击路径 Executors -> driver -> Thread Dump。 FAQ-如何看到卡住spark任务的driver thread dump - 图2

FAQ-如何看到卡住spark任务的driver thread dump - 图3

如同可以看出

作者:刘思伟