sort by和order by 其实都是用来排序的。
order by 可以得到一个全局的排序的一个结果
如果sort by的reducer的数量为1的话 实际上得到的结果和order by是相同的。
大多数时候用order by其实没什么问题,但是当数据量非常大时,order by的开销实际上就非常大了,做不到全局排需的效果,然后sort by就可以出场了。
但是sort by 实际上是再每一个reducer中排序,得到实际上是一个局部有序的结果,要想得到全局的结果还需要处理一下。
但是我们有时候希望将某些字段相同的数据放到一起排序,可以用distribute来保证他们能够放在同一个reducer中处理。
本文对比分析了SortBy与OrderBy两种排序方式的优劣。详细解释了OrderBy适用于小数据量全局排序,而SortBy则更适合大数据量场景下局部排序的需求,并通过使用Distribute功能确保特定字段相同的数据在同一Reducer中处理,实现更高效的数据排序。
334

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



