今日面试:如果调度昨天正常运行,今天突然跑的比较慢,这是什么原因(面试题)
我回答的是看日志,然后逐步排查,他又让我举个工作中,遇见的场景,呜呜…
网友提供:
一看上游是不是产出晚了,如果是自己的问题,看是不是数据量有暴增,是不是出现数据倾斜,再看资源问题,是不是集群计算资源不够了(比如大促时期有些任务会挂高级基线抢占集群资源)
还有种情况就是自己的任务比较复杂,资源消耗量大,在资源紧张并且任务优先级不高的时候很容易等待资源
etl超时了,你怎么找到原因,是哪一块超时了
1.日志分析:检查ETL的日志,查看是否有明显的错误或异常信息,例如连接超时、数据库死锁等,定位问题所在。
2.性能监控:使用性能监控工具来监视ETL的运行情况,查看CPU、内存、磁盘和网络等资源的使用情况,是否存在瓶颈或异常。
3.时间分析:将ETL流程分块,记录每一步的运行时间,比较每一步的耗时,找出耗时较长的环节。
4.代码审查:仔细检查ETL代码,尤其是与数据提取、转换和加载相关的部分,查看是否存在低效或冗余的操作,优化代码。
5.并发情况:考虑是否存在多个ETL流程同时运行,造成资源竞争和性能下降,适当调整ETL任务的调度策略或资源分配。
通过以上方法综合分析,应该能够找到ETL超时的原因和具体是哪一块造成了超时问题。