hive 学习,
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字节
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。