distribute by、 clustered by 、 order by 、 sort by 的区别
order by 会最终在一个reducer上面做排序,全局统一
sort by 一般会和distribute by配合使用,distribute by会把按照后面跟的字段把数据打到同一个 reducer 上面,然后根据sort by在相应的reducer上面做局部聚合
cluster by 是distribute by和sort by的结合,不过只能按照某一个字段来排序
另外使用distribute by rand() 可以解决数据倾斜或者部分reducer计算压力较大的问题
比如
select city_name
,sum(sales_amt) as city_sales_amtfrom (select city_name,sales_amtfrom dwd.dwd_testing_sales_idwhere pt = '20220714'distribute by pmod(hash(1000* rand()),100)) tgroup by city_name
上述的代码会先根据1000* rand()后取hash值,再将跟100取模后的结果,发送到后面100个reducer中。 这样可以避免少量reducer计算大量的值。
distribute by、 clustered by 、 order by 、 sort by 的区别相关推荐
- hive中order by,sort by, distribute by, cluster by作用以及用法
1. order by Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的数据都会 ...
- order by 、sort by、distribute by、group by、cluster by的区别
转载:https://www.cnblogs.com/huxinga/p/7688376.html 转载:https://blog.csdn.net/SunWuKong_Hadoop/article/ ...
- hive四种排序Order By , Sort By ,Distribute By ,Cluster By
前文 Hive的本质是MapReduce,MapReduce中如何排序的?? MapReduce分为几种: 1.全排序order By: 结果只有一个(也就是只有一个分区),所有的数据整体有序. 2. ...
- order by,sort by,distribute by,cluster by的区别是什么?
前言 本文隶属于专栏<1000个问题搞定大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技 ...
- 4种排序方式比较:order by, sort by, distribute by, cluster by
文章记录了4种排序方式:order by, sort by, distribute by, cluster by 总结: order by 全局排序,只有一个 Reducer,通过order对字段进行 ...
- hive 中排序order by,sort by,distribute by使用
前提:hive 中使用的排序有oder by, sort by,distribute By,cluster By 具体使用如下 测试数据: 0: jdbc:hive2://hadoop-03:1000 ...
- Hive中的四种排序方式(order by,sort by,distribute by,cluster by)使用与区别详解
在平时的Hive数仓开发工作中经常会用到排序,而Hive中支持的排序方式有四种,这里结合具体的案例详细介绍一下他们的使用与区别: order by sort by distribute by clus ...
- Hive中的排序:order by/sort by/cluster by
Hive中关于排序的几种方法,有必要深入理解其原理. Order by 全局排序 1)Order By:全局排序,只有一个 Reducer,即使我们在设置set reduceer的数量为多个,但是在执 ...
- order by和sort by的区别
新年的第一天,希望远在几百公里外的她现在睡得正香 问题: 在学习hive的时候,面对一些东西,总是模棱两可.直接切入话题,sort by和order by的联系与区别. 分析: hive中的order ...
- sort 与 sorted 区别:
sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值, ...
最新文章
- 近世代数--整环上的整除理论--主理想整环中最大公因子的存在表示定理
- 关于unityengine.dll, unityengine.coremodule.dll
- boost::io模块ios相关的测试程序
- mybatis当遇到,用mysql关键字作为的字段的表,如何处理
- python的pip换源_浅析Python3 pip换源问题
- C# message简单实现窗口间信息接收与发送
- LINUX下动态链接库的使用-dlopen dlsym dlclose dlerror
- [Python]网络爬虫(七):Python中的正则表达式教程(转)
- 内购订单进行二次处理_游戏内购要涨价?谷歌效仿苹果:安卓内购抽成30%
- 安卓使用Root权限实现后台模拟全局按键、触屏事件方法(类似按键精灵)
- Mark 韦氏拼音 邮政式拼音 和汉语拼音
- ETABS和SAP2000中质量源的定义
- Redis(服务端/客户端)的启动、关闭、查看状态
- canal 记录 数据变更类型 QUERY ROWDATA INSERT xxx XXXXX
- crmeb 公众号模板消息类目选择以及配置说明
- 给所有工作不顺心的人们
- 根据LocalDate或者DateUtils计算两个日期之间的天数差
- 在可见光波长下用银树突超表面进行微分运算
- 打击标题党 详述清风算法
- 如何查询相关基因及其相关的全部信息