本文概述
通过使用HiveQL ORDER BY和SORT BY子句, 我们可以对列应用排序。它以升序或降序返回结果集。在这里, 我们将在下表的记录上执行这些子句:
HiveQL-按条款订购
在HiveQL中, ORDER BY子句执行查询结果集的完整排序。因此, 完整的数据将通过单个减速器传递。在执行大型数据集时可能会花费很多时间。但是, 我们可以使用LIMIT来最小化排序时间。
Hive中ORDER BY子句的示例
让我们看一个使用ORDER BY子句按排序顺序排列数据的示例。
- 选择我们要在其中创建表的数据库。
hive> use hiveql;
- 现在, 使用以下命令创建表:
hive> create table emp (Id int, Name string , Salary float, Department string)
row format delimited
fields terminated by ', ' ;
- 将数据加载到表中。
hive> load data local inpath '/home/codegyani/hive/emp_data' into table emp;
- 现在, 使用以下命令按降序获取数据:
hive> select * from emp order by salary desc;
在这里, 我们得到了预期的结果。
HiveQL-按条款排序
HiveQL SORT BY子句是ORDER BY子句的替代方法。它对每个化简器中的数据进行排序。因此, 它执行本地排序, 其中每个化简器的输出都单独排序。它还可能会给出部分排序的结果。
Hive中的SORT BY子句示例
在此示例中, 我们使用SORT BY子句按排序顺序排列数据。
- 让我们使用以下命令按降序获取数据:
hive> select * from emp sort by salary desc;
在这里, 我们得到了预期的结果。
评论前必须登录!
注册