hive在执行过程中是分多个stage执行的,stage越少效率越高,因此我们需要减少join的数量,优化hql
注意点:不能再where语句中使用列别名
join优化:
1.hive在对每行记录进行连接操作时,它会尝试将其他表缓冲存起来,然后扫描最后那个表进行计算。因此用户需要保证连续查询中的表的大小从左到右依次增加
2.map-side JOIN
如果所有表中只有一张表是小表,那么可以在最大的表通过mapper的时候将小表完全放到内存中。
在运行的时候可以启动优化:
set hive.auto.convert.join=true;
也可以设置优化表的大小:
hive.mapjoin.smalltable.filessize=250000字节
hive 学习
最新推荐文章于 2022-09-26 21:11:39 发布
本文介绍了Hive SQL的优化策略,包括减少join数量、避免在where语句中使用列别名,以及如何通过map-side join优化大表和小表的连接,提升查询效率。
3980

被折叠的 条评论
为什么被折叠?



