帶limit的hivesql排序
select requestdomain,count(1) as cnt from ods_cndns_real_log where dt = 20160707 group by requestdomain order by cnt desc limit 1000;
生成兩個mr:第一步先group by;第二步將數據放到一個reduce上執行。如果group by后的數據量超大,不可取。任務可能會失敗。
select requestdomain,count(1) as cnt from ods_cndns_real_log where dt = 20160707 group by requestdomain sort by cnt desc limit 1000;
生成三個mr:第一步先group by:第二步將每個reduce上的數據按照cnt進行倒敘排列;第三步將第二步中每個reduce上倒序前10000個數據放入下一個任務中,即一個reduce上進行排序。
待更新。。。