千家信息网

hive中order by,distribute by,sort by,cluster by有什么用

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,小编给大家分享一下hive中order by,distribute by,sort by,cluster by有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文
千家信息网最后更新 2025年01月31日hive中order by,distribute by,sort by,cluster by有什么用

小编给大家分享一下hive中order by,distribute by,sort by,cluster by有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

order by,distribute by,sort by,cluster by 查询使用说明

// 根据年份和气温对气象数据进行排序,以确保所有具有相同年份的行最终都在一个reducer分区中 // 一个reduce(海量数据,速度很慢)select year, temperatureorder by year asc, temperature desclimit 100;  // 多个reduce(海量数据,速度很快)select year, temperature  distribute by year  sort by year asc, temperature desclimit 100;

order by (全局排序 )
order by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)
只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。

在hive.mapred.mode=strict模式下,强制必须添加limit限制,这么做的目的是减少reducer数据规模
例如,当限制limit 100时, 如果map的个数为50, 则reducer的输入规模为100*50



distribute by (类似于分桶)
根据distribute by指定的字段对数据进行划分到不同的输出reduce 文件中。


sort by (类似于桶内排序)
sort by不是全局排序,其在数据进入reducer前完成排序。
因此,如果用sort by进行排序,并且设置mapred.reduce.tasks>1, 则sort by只保证每个reducer的输出有序,不保证全局有序。



cluster by
cluster by 除了具有 distribute by 的功能外还兼具 sort by 的功能。
但是排序只能是倒序排序,不能指定排序规则为asc 或者desc。

因此,常常认为cluster by = distribute by + sort by

以上是"hive中order by,distribute by,sort by,cluster by有什么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

排序 数据 全局 有序 篇文章 规模 保证 输入 内容 功能 只有 多个 年份 海量 速度 输出 限制 不同 相同 较大 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国内循证医学数据库如何 初三网络安全教育主题班会课件 交管平台服务器为什么老是繁忙 怎样附加自己做的数据库 手机连不起网服务器问题 执行数据库报329错误 我的世界服务器之战动画 怎么查询网址的服务器 软件开发费的税率 R740服务器 美国网络中立法案与网络安全 济宁惠普软件开发 数字化道德与法制展厅软件开发 成都领沃网络技术有限公司智联 农安正规网络技术服务品质保障 服务器2012用户名密码忘记 网络安全 明文 cf服务器断开链接怎么办 数据库查询多少年后的 网络安全与执法专业考研方向 中国家谱簇谱数据库 java 数据库通用类 sd卡损坏无法存数据库 我的世界命令方块怎么设置服务器 互联网网络技术的应用 有关网络安全的热点 怎么用sql删掉表的数据库 厦门软件开发公司怎么选 如何创建互联网科技公司 全国大学生网络安全知识大赛
0