Hive 中 4 个 By 的区别

简介: Hive 中 4 个 By 的区别

(1)Order By:对数据进行全局排序,并且只有一个 Reducer,不管我们对 Reducer 的数量如何设置,也只会有一个 Reducer 执行,因为全局排序只能在一个 Reducer 中执行。(注意:Order By 进行全局排序,所以效率低,在公司生产环境中一般运行不了,因为数据太大,然而只有一个 Reducer)

(2)Sort By:分区内有序,也就是每个 Reducer 内部进行排序,对全局结果集来说不是排序的。结果如下图类似:

(3)Distribute By:它的功能类似于 MR 中的 Partition,对数据进行分区,一般结合 Sort By 一起使用。用法如下:(先将数据分区,再将各个分区内的数据进行排序)

(4)Cluster By:Distribute by Sorts by 字段相同时,可以使用 Cluster by 方式。Cluster by 除了具有 Distribute by 的功能外还兼具 Sort by 的功能。但是排序只能是升序排序,不能指定排序规则为 ASC 或者 DESC。(一般用的比较少,因为很少有字段相同的情况)

相关文章
|
6月前
|
SQL 分布式计算 Hadoop
干翻Hadoop系列文章【02】:Hadoop、Hive、Spark的区别和联系
干翻Hadoop系列文章【02】:Hadoop、Hive、Spark的区别和联系
|
1月前
|
SQL 存储 分布式计算
Hive和Pig的区别是什么?如何选择?
【10月更文挑战第9天】Hive和Pig的区别是什么?如何选择?
23 0
|
SQL 自然语言处理 关系型数据库
【Hive】函数 concat 、concat_ws 、concat_group 的区别
【Hive】函数 concat 、concat_ws 、concat_group 的区别
1097 0
|
6月前
|
SQL Java 数据处理
【Hive】Hive的函数:UDF、UDAF、UDTF的区别?
【4月更文挑战第17天】【Hive】Hive的函数:UDF、UDAF、UDTF的区别?
|
6月前
|
SQL 存储 分布式计算
【Hive】hive内部表和外部表的区别
【4月更文挑战第14天】【Hive】hive内部表和外部表的区别
|
SQL 存储 安全
Hive 内部表(管理表)和外部表的区别【重点】
Hive 内部表(管理表)和外部表的区别【重点】
749 1
|
6月前
|
SQL 分布式计算 数据处理
【Hive】sort by 和 order by 的区别
【4月更文挑战第15天】【Hive】sort by 和 order by 的区别
|
6月前
|
SQL 分布式计算 关系型数据库
Hive与传统关系型数据库有什么区别?请举例说明。
Hive与传统关系型数据库有什么区别?请举例说明。
251 0
|
6月前
|
SQL 存储 传感器
Hive中的分区表和非分区表有什么区别?请解释其作用和使用场景。
Hive中的分区表和非分区表有什么区别?请解释其作用和使用场景。
209 0
|
6月前
|
SQL HIVE
hive insert to 和insert overwrite 区别
hive insert to 和insert overwrite 区别
270 0
下一篇
无影云桌面