HiveQL ORDER BY和SORT BY子句

HiveQL ORDER BY和SORT BY子句

通过使用HiveQL的ORDER BY和SORT BY子句,我们可以对列进行排序。它可以返回结果集以升序或降序的方式排序。在这里,我们将对下表的记录执行这些子句:

HiveQL ORDER BY和SORT BY子句

HiveQL – ORDER BY 语句

在HiveQL中,ORDER BY子句对查询结果集进行完整排序。因此,所有数据都会通过一个单独的reducer进行处理。对于执行大数据集的排序可能需要很长时间。然而,我们可以使用LIMIT来减少排序时间。

Hive中ORDER BY子句的示例

让我们通过使用ORDER BY子句对数据进行排序来看一个示例。

  • 选择我们要创建表的数据库。
hive> use hiveql;

HiveQL ORDER BY和SORT BY子句

  • 现在,使用以下命令创建一个表:
hive> create table emp (Id int, Name string , Salary float, Department string)  
row format delimited  
fields terminated by ',' ; 

HiveQL ORDER BY和SORT BY子句

  • 将数据加载到表中。
hive> load data local inpath '/home/codegyani/hive/emp_data' into table emp;

HiveQL ORDER BY和SORT BY子句

  • 现在,使用以下命令按降序获取数据:
hive> select * from emp order by salary desc;

HiveQL ORDER BY和SORT BY子句

在这里,我们得到了期望的结果。

HiveQL – SORT BY子句

HiveQL的SORT BY子句是ORDER BY子句的一种替代方式。它对每个reducer内部的数据进行排序。因此,它执行局部排序,每个reducer的输出被单独排序。它也可能给出部分有序的结果。

在Hive中使用SORT BY子句的示例

在这个示例中,我们使用SORT BY子句按排序顺序排列数据。

  • 通过使用以下命令按降序获取数据:
hive> select * from emp sort by salary desc;

HiveQL ORDER BY和SORT BY子句

这里,我们得到了期望的结果。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程