4.2.4 Order By
操作场景
默认情况下,Order By会生成一个Reduce进行全局排序,所以,一般要求Order By要加上Limit来使用,或者修改为Disribute By和Sort By 。
对于必须进行全量,全局排序的,可以考虑对数据进行抽样后,通过Distribute By和Sort By进行并行排序。
修改参数
参数名 | 描述 |
---|---|
hive.optimize.sampling.orderby | 默认是false |
hive.optimize.sampling.orderby.number | 默认1000,抽取多少个样本 |
hive.optimize.sampling.orderby.percent | 默认0.1,每条记录都会算一个概率,当概率小于这个值时,选中该记录 |