如何获取Spark中操作的执行时间?DAG蓝色节点耗时查询
查看Spark DAG蓝色节点耗时的方法
Spark UI 直接查看
- 打开Spark UI的Stages页面,定位到你关注的stage并点击进入详情页
- 在stage详情的Tasks板块,点击任意一个task的Details链接
- 在task详情页的Task Metrics区域,会列出该task内每个算子(对应DAG里的蓝色节点)的具体执行耗时,
fileScan、mapPartition这类操作的耗时都会明确展示 - 如果是SQL驱动的作业,也可切换到SQL页面,找到对应查询记录后查看Execution Plan的详细统计,里面同样包含各算子的耗时数据
替代方案
- 使用
queryExecutionAPI:在代码中针对目标DataFrame/Dataset调用df.queryExecution,打印其executedPlan属性,可获取每个算子的执行统计信息(包括耗时) - 调整日志级别:将Spark日志级别设为
INFO,作业运行后在日志中搜索算子名称,能找到对应的执行时间记录 - 解析事件日志:作业完成后,利用Spark自带的事件日志解析工具,从
spark.eventLog.dir指定的日志文件中提取各算子的耗时数据
内容的提问来源于stack exchange,提问作者abkf12
相关产品推荐
相关产品推荐

