日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

12-order by和group by 原理和优化 sort by 倒叙

發布時間:2025/3/15 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 12-order by和group by 原理和优化 sort by 倒叙 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

========================原理和優化================================== groupBy分組?會造成一個數據傾斜 1.解決方案:將輸入在map端進行部分的打亂重分 set hive.groupby.skewindata=true; 2.在map到reduce端的時候設置combiner進行合并 set hive.map.aggr=true; 3.在combiner進行合并的時候要知道數據量的大小,如果不是特別大就不需要進行合并 set hive.groupby.mapaggr.checkinterval=100000;如果數據小于10w條那么沒必要合并 4.看在combiner合并期間做的合并率 set hive.map.aggr.hash.min.reduction=0.5order by是排序?全局排序,reduce就應該是一個 其實orderby就是一個reduce在進行排序處理,那么壓力特別大,并且容易產生宕機 那么我們在使用這個order by的時候就不能進行全局排序,加上limit set hive.mapred.mode = strict; 在嚴格模式下如果向使用order by進行排序,那么必須使用limit進行指定條數sort by排序,不是全局排序,單個reduce的排序 問題:將每個部門的數據都按照工資進行倒序?set mapreduce.job.reduces=3; select * from t_emp distribute by deptno sort by salary desc;




sort by 每個mr自己得文件單獨排序
distribute by 分發將map端得數據按照一定得規則分發給不同得reduce端
set mapreduce.job.reduces=3;
與order by不同,order by是全局排序 其實sortby也可以全局排序 reduce是一個得時候就可以全局排序
cluster by:分發+排序 == sort by+distribute by,但是cluster by 這個分發加上排序是只能指定一個字段

?

?

轉載于:https://www.cnblogs.com/JBLi/p/10834570.html

總結

以上是生活随笔為你收集整理的12-order by和group by 原理和优化 sort by 倒叙的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。