Hive(23):Select高级查询之SORT/ORDER/CLUSTER/DISTRIBUTE BY

这篇具有很好参考价值的文章主要介绍了Hive(23):Select高级查询之SORT/ORDER/CLUSTER/DISTRIBUTE BY。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 ORDER BY

ORDER BY [ASC|DESC]

Hive SQL中的ORDER BY语法类似于SQL语言中的ORDER BY语法。会对输出的结果进行全局排序,因此底层使用MapReduce引擎执行的时候,只会有一个reducetask执行。也因此,如果输出的行数太大,会导致需要很长的时间才能完成全局排序。

默认排序顺序为升序(ASC),也可以指定为DESC降序。

在Hive 2.1.0和更高版本中,支持在“ order by”子句中为每个列指定null类型结果排序顺序。ASC顺序的默认空排序顺序为NULLS FIRST,而DESC顺序的默认空排序顺序为NULLS LAST。

---order by
--根据字段进行排序
select * from t_usa_covid19_p
where count_date = "2021-01-28"
and state ="California"
order by deaths; --默认asc null first

select * from t_usa_covid19_p
where count_date = "2021-01-28"
and state ="California"
order by deaths desc; --指定desc null last

--强烈建议将LIMIT与ORDER BY一起使用。避免数据集行数过大
--当hive.mapred.mode设置为strict严格模式时,使用不带LIMIT的ORDER BY时会引发异常。
select * from t_usa_covid19_p
where count_date = "2021-01-28"
  and state ="California"
order by deaths desc
limit 3;

</文章来源地址https://www.toymoban.com/news/detail-557140.html

到了这里,关于Hive(23):Select高级查询之SORT/ORDER/CLUSTER/DISTRIBUTE BY的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hive(24):Select高级查询之Union联合查询

    1 语法规则 UNION用于将来自多个SELECT语句的结果合并为一个结果集。语法如下: 使用DISTINCT与只使用UNION默认值效果一样,都会删除重复行。 使用ALL,不会删除重复行,结果集包括所有SELECT语句的匹配行(包括重复行)。 1.2.0之前的Hive版本仅支持UNION ALL,在这种

    2024年02月13日
    浏览(28)
  • hive 随机抽样 distribute by rand() sort by rand() limit n

    在分析或者处理大规模数据时,由于数据量较大时,一般只能随机抽样一部分的数据来分析,那么如何进行随机抽样呢? 下面有几种方法,目前常用的是 distribute by rand() sort by rand() limit n order by rand() : order by 是全局的,比较耗时, 只有一个reduce,是真正的随机 sort by rand()

    2023年04月23日
    浏览(50)
  • Hive(26):Select高级查询之Common Table Expressions(CTE)

    1 CTE介绍 公用表表达式(CTE)是一个临时结果集,该结果集是从WITH子句中指定的简单查询派生而来的,该查询紧接在SELECT或INSERT之前。 CTE仅在单个语句的执行范围内定义。一个或多个CTE可以在Hive SELECT,INSERT,  CREATE TABLE AS SELECT或CREATE VIEW AS SELECT语句中使用。 2 CTE案

    2024年02月15日
    浏览(22)
  • Hive 中 sort by 和 order by 的区别

    order by 会对输入做 全局排序 ,因此只有1个reducer(多个reducer无法保证全局有序),会导致当输入规模较大时,需要较长的计算时间。 sort by 不是全局排序,其在数据进入 reducer 前完成排序。 因此,如果用 sort by 进行排序,并且设置 mapred.reduce.tasks1 , 则 sort by 只保证每个

    2024年02月16日
    浏览(32)
  • SQL 查询优化指南:SELECT、SELECT DISTINCT、WHERE 和 ORDER BY 详解

    SQL的SELECT语句用于从数据库中选择数据。SELECT语句的基本语法如下: 其中, column1 , column2 ,等是您要从表中选择的字段名称,而 table_name 是您要选择数据的表的名称。 如果要选择表中的所有列,您可以使用 SELECT * 语法。 以下是一些示例: 从Customers表中选择 CustomerName 和 Ci

    2024年02月05日
    浏览(45)
  • Hive(22):Select查询数据之基础查询

    1 语法树 table_reference指示查询的输入。它可以是普通物理表,视图,join查询结果或子查询结果。 表名和列名不区分大小写。 2 案例:美国Covid-19新冠select查询 下面来准备一下语法测试环境,在附件资料中有一份数据文件《us-covid19-counties.dat》,里面记录了2021-01-28美国各个县

    2024年02月16日
    浏览(26)
  • MySQL Select 查询语句详解及高级用法

    MySQL是一个开源的关系型数据库管理系统,支持多种操作语言,其中最基础、最常用的命令之一就是SELECT语句。在本篇文章中,这里将详细介绍MySQL SELECT语句的各个方面,从最基本的查询语句,到更高级的技巧和功能。 SELECT语句用于从表格中检索数据。其基本语法如下: sq

    2024年02月08日
    浏览(32)
  • HIVE表 DML 操作——第3关:将 select 查询结果插入 hive 表中

    第3关:将 select 查询结果插入 hive 表中 任务描述 本关任务:根据编程要求将 select 查询结果插入 hive 表中。 相关知识 为了完成本关任务,你需要掌握:1. 单表插入,2. 多表插入。 通过使用查询子句从其他表中获得查询结果,然后使用 INSERT 命令把数据插入到 Hive 新表中(

    2024年02月02日
    浏览(28)
  • HIVE表 DML 操作——第4关:将 select 查询结果写入文件

    第4关:将 select 查询结果写入文件 任务描述 本关任务:根据编程要求将 select 查询结果写入文件。 相关知识 为了完成本关任务,你需要掌握:1.单文件写入,2.多文件写入。 可以把 Hive 查询结果写入或导出到文件中,与查询结果插入到表中类似,导出 Hive 表中的数据到文件

    2024年02月05日
    浏览(29)
  • 知识图谱实战应用23-【知识图谱的高级用法】Neo4j图算法的Cypher查询语句实例

    大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用23-【知识图谱的高级用法】Neo4j图算法的Cypher查询语句实例,Neo4j图算法是一套在Neo4j图数据库上运行的算法集合。这些算法专门针对图数据结构进行设计,用于分析、查询和处理图数据。图算法可以帮助我们发现图

    2024年02月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包