1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【硬刚Hive】Hive高级(5):优化(5)HiveSQL优化方法与实践(二)

【硬刚Hive】Hive高级(5):优化(5)HiveSQL优化方法与实践(二)

时间:2021-01-05 00:49:47

相关推荐

【硬刚Hive】Hive高级(5):优化(5)HiveSQL优化方法与实践(二)

4Order by的优化原理

如果指定了hive.mapred.mode=strict(默认值是nonstrict),这时就必须指定limit来限制输出条数,原因是:所有的数据都会在同一个reducer端进行,数据量大的情况下可能不能出结果,那么在这样的严格模式下,必须指定输出的条数。

所以数据量大的时候能不用order by就不用,可以使用sort by结合distribute by来进行实现。

sort by是局部排序;

distribute by是控制map怎么划分reducer。

cluster by=distribute by + sort by

被distribute by设定的字段为KEY,数据会被HASH分发到不同的reducer机器上,然后sort by会对同一个reducer机器上的每组数据进行局部排序。

例如:

select mid, money, name from store cluster by midselect mid, money, name from store distribute by mid sort by mid

如果需要获得与上面的中语句一样的效果:

select mid, money, name from store cluster by mid sort by money

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。