SQL
sql页面的列表页罗列了提交到spark的所有sql,所有设置的参数,以及所有的创建临时函数的语句
点击蓝色字体sql语句会跳转到详情页,详情页分为DAG图和sql执行计划
DAG图,以图形的形式展示了整个作业的执行过程,每个色块代表了一种算子,WholeStageCodeGen是用动态代码生成的方式把几个算子转换成java函数,提升计算效率。鼠标在算子的色块上悬停,可以看到更为详细的信息
每个算子都会展示一些matrics,基本上也是见名知意的,就不再过多阐述,对于排查问题是很好的助力,附上官网的链接:SQL Metrics
sql执行计划,包括Parsed Logical Plan、Analyzed Logical Plan、Optimized Logical Plan、Physical Plan
有关SQL页面的自问自答
1.如何从stage的DAG图关联到SQL的DAG图
在spark2.x可以通过coordinatorid来关联,spark3可以勾选stageid,也可用用过WholeStageCodeGen后面的数字来关联。
2.查看SQL的DAG有什么值得关注的
1.判断是否谓词下推
2.判断join的方式,是SortMergeJoin还是broadcast join
3.判断各类操作下,有没有数据和时间倾斜
4.怀疑有数据膨胀时,可以定位分析