Hive的排序

order by

全局排序,因此只有一个reducer,设置了多个reducer也不起作用.
-- 设置reducer的个数为2
set mapred.reduce.tasks=2;
-- 查询
select * from user_install_status_limit order by uptime limit 10;

在这里插入图片描述

order by 在hive.mapred.mode = strict 模式下,必须指定 limit,否则执行会报错.  
-- 设置严格模式
set hive.mapred.mode = strict;
-- 全表查询
select * from user_install_status_limit order by uptime;
-- 报错信息
FAILED: SemanticException 1:49 Order by-s without limit are disabled for safety reasons. If you know what you are doing, please make sure that hive.strict.checks.large.query is set to false and that hive.mapred.mode is not set to 'strict' to enable them.. Error encountered near token 'uptime'
-- 加上limit就正常执行.
select * from user_install_status_limit order by uptime limit 10;
-- 取消严格模式
set hive.mapred.mode = nonstrict;

sort by

局部排序,在数据进入reducer前完成排序. 
用sort by进行排序,如果设置mapred.reduce.tasks = 1,那作用和order by是一样的.
如果设置mapred.reduce.tasks > 1,则sort by只保证每个reducer的输出有序,不保证全局有序.
set mapred.reduce.tasks=2;
insert overwrite local directory '/home/hadoop/sort_data' select * from user_install_status_limit sort by uptime;

在这里插入图片描述

总结

• 使用 ASC[ascdend] 或 DESC[descend] 关键字来设置查询结果是按升序或降序排列,默认按升序 ASC 排列.
• order by 后可跟多个字段,字段之间用英文逗号隔开,多个字段时,优先级按先后顺序而定.
• 若A、B都升序: order by A,B; 若A、B都用降序,必须用两个DESC: order by A DESC,B DESC;
• 若A用升序,B用降序,SQL该这样写: order by A ASC,B DESC; 也可以这样写(默认):order by A, B DESC;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/704102.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SOLIDWORKS 2024云服务新功能

一、简单的分享一下,在线观看,轻松标记 在达索系统SOLIDWORKS 2024云服务中,您只需在达索系统SOLIDWORKS中点击按钮,就可以将当前的设计分享给其他人,无论是客户、供应商还是团队内部成员。共享的用户只要打开浏览器里…

河南广电与LiblibAI签署战略合作协议

5月15日,河南广电科技与LiblibAI战略签约仪式在郑州中原福塔新闻发布厅隆重举行。双方将本着“共商、共享、共建、共赢”原则,基于全面、可持续的战略合作伙伴关系,发挥各自优势,共同聚焦生成式AI领域,围绕内容创作、商…

Math.Round()函数说明

Math.Round()并不是严格意义上的是四舍五入函数。它默认的执行的是“银行家舍入”算法,即四舍六入五取偶。概括为:四舍六入五考虑、五后非零就进一,五后皆零看奇偶,五前为偶应舍去、五前为奇要进一。 当为5时,取离着最…

JAVA云his医院管理系统源码 SaaS模式+融合B/S版电子病历 基于云计算技术开发的云his医院管理系统

JAVA云his医院管理系统源码 SaaS模式融合B/S版电子病历 基于云计算技术开发的云his医院管理系统 定义 美国著名教授Morris.Collen于1988年曾著文为医院信息系统下了如下定义:利用电子计算机和通讯设备,为医院所属各部门提供病人诊疗信息和行政管理信息…

YOLO损失函数——SIoU和Focal Lossr损失函数解析

1. 概述 YOLO(You Only Look Once) 系列模型以其实时目标检测能力而闻名,其有效性在很大程度上归功于其专门设计的损失函数。在本文中,这里将深入探讨YOLO演进中不可或缺的各种YOLO损失函数,并重点介绍它们在PyTorch中…

第83天: 代码审计-PHP 项目RCE 安全调试追踪代码执行命令执行

案例一:CNVD拿1day-RCE命令执行-百家CMS 这里用代码审计系统搜索system,可以利用的是第一种 打开看细节 查找函数引用 查找$_file第一次出现的地方 这个时候就明白了,必须上传文件,然后利用文件名,去执行system命令 …

将PDF转换成电子杂志,轻松打造畅销内容!

在数字化时代,将PDF转换成电子杂志是一种非常受欢迎的内容创作方式。这种方式不仅可以提高内容的传播效果,还可以为创作者带来更多的收益。那么,如何轻松地将PDF转换成电子杂志,打造畅销内容呢? 市面上有许多可以将PDF…

MQTT_介绍_1.1

历史 1999年:MQTT最初由IBM的Andy Stanford-Clark和Cirrus Link的Arlen Nipper开发,用于满足石油和天然气公司在远程地区监控设备的需求。 2006年:IBM发布了MQTT的最初开源实现,但此时MQTT并未获得广泛的关注。 2010年&#xff…

企业计算机服务器中了faust勒索病毒如何处理,faust勒索病毒解密恢复

随着网络技术的不断发展与应用,越来越多的企业利用网络走向了数字化办公模式,网络也极大地方便了企业生产运营,大大提高了企业生产效率,但对于众多企业来说,企业的数据安全一直是大家关心的主要话题,保护好…

虚拟机不同网卡模式的使用

前言 了解虚拟机不同网卡模式,并能正确使用网卡连接模式来处理工作学习上的问题,有时候是非常重要的。也许,你也有过使用虚拟机过程中,在网络上花费不少时间的情况,那么这篇文章可能适合你。 一、区别 如上图&#x…

管道液位传感器与浮球开关哪个可靠性强?

光电管道传感器采用红外光学组件,利用光折射原理来进行液位检测。相比传统的机械式传感器,光电传感器不容易出现低精度和卡死失效的问题。机械式传感器需要通过机械装置来感知液位,容易受到机械零件的磨损和故障的影响,从而导致传…

源代码防泄漏之沙盒技术分析

随着企业信息化的快速发展,对于单位来说,网络中包含了很多重要的信息资料,比如网络中积累和掌握了大量的研发数据、生产数据和运营信息等,组织不希望这些资料离开企业内部的网络环境,甚至不允许在网络外部传递与交流&a…