当你的presto任务非直接报错,只是卡在了 XX% 这种运行状态不动时,尤其像我现在使用的集群这样一个任务随随便便就是TB级数据,有时伴随queryid旁边有黄色感叹号,如下
你要检查你的sql,99%有一下原因之一:
1、检查你的数据切片是否导致任务的数据集很大,这种情况通常导致执行阶段出现压力异常问题,此时减少切片,分多次写入,或者用个中间表,分步聚合
2、不同表之间的连接条件是否有误,尤其是某一个连查字段有空值的时候,这会影响presto执行计划导致进入死循环
3、是否有大量数据在同一个select中做成本很高的计算,比如多个字段在数据量本身很大的情况下在同一个select里面一起去重等,这种情况不止要减少计算的数据,还要将多个字段使用with as的方式分成多个临时表计算
4、至于黄色感叹号,通常是因为注释符号和注释内容之间有空格,或者语句格式有问题,导致引擎识别语法有警告,不过通常不影响任务
presto任务卡住不继续执行
于 2025-01-16 15:29:26 首次发布