hiveSQL任务执行时间过长

在周例会上,发现自己经手过的任务运行时间在忙时长达两个多小时(公开处刑),这里总结下工作中遇到的一些造成任务执行效率低的原因:

1、数据量过大

比如有分区表,但是多表关联查询的时候没有指定分区,导致全表扫描。(注意on跟where的条)

2、产生笛卡尔积

优化

3、访问API过多

有些任务可能涉及到访问外部接口,过多的请求影响到任务执行效率。从业务或者其他方面优化

4、从接口层取数

前期的数仓设计不合理或者临时性取数,应用层的数据直接从接口层取数。需要优化模型设计,从接口层到中间层/轻度汇总层,提高取数效率

5、业务逻辑

梳理业务逻辑,看是否有优化的可能性。比如中间层的设计、避免数据倾斜等

你可能感兴趣的:(big,data,数据仓库,hive)