order by和sort by的区别
order by实现的是全局排序,在hive mr引擎中将会只有1个reduce。而使用sort by会起多个reduce,只会在每个reduce中排序,如果不指定分组的话,跑出来的数据看起来是杂乱无章的,如果指定reduce个数是1,那么结果和order by是一致的,如下图,不指定的情况,两种结果对比:
order by一般配合group by使用,而group by需要配合聚合函数使用,举个例子
而sort by分组时需要使用distribute by,和group by类似,但是它不需要配合聚合函数使用,也就不影响原数据的函数,这点和开窗函数有点类似,如下
distribute by还有个简化版,当distribute by和sort by的字段相同时,可以简写为cluster by,下面两图对比
总结:order by是全局排序,sort by是组内排序。distribute by sort by可以结合桶表使用,给桶中的数据排序。
ㄟ熊猫先生: 我的jobid确认是没有写错的
ㄟ熊猫先生: 我现在也遇到了同样的问题,调用对应链接把整个页面down下来了,但没能杀掉job,请问有解决这个问题的方法吗
LSB19930706: 一定是job id搞错了,就是链接末尾的那个855可能搞错了
咖啡加冰不加糖~: 博主,你好!我执行curl http://hostname:port/proxy/application_1608904561020_23291097/jobs/job/kill/?id=855 为什么把整个页面down下来,而没有杀死job,这种情况遇到了吗
我爱人工智能: 好文章,学习了