sort by和order by 其实都是用来排序的。
order by 可以得到一个全局的排序的一个结果
如果sort by的reducer的数量为1的话 实际上得到的结果和order by是相同的。
大多数时候用order by其实没什么问题,但是当数据量非常大时,order by的开销实际上就非常大了,做不到全局排需的效果,然后sort by就可以出场了。
但是sort by 实际上是再每一个reducer中排序,得到实际上是一个局部有序的结果,要想得到全局的结果还需要处理一下。
但是我们有时候希望将某些字段相同的数据放到一起排序,可以用distribute来保证他们能够放在同一个reducer中处理。