hive连接表时,数据记录的顺序是否重要

bvhaajcl  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(313)

我想知道连接两个表时,数据记录的顺序是否重要(性能方面)?
p、 我没有使用任何Map边连接或桶连接。
谢谢您!

yk9xbfzb

yk9xbfzb1#

一方面,顺序应该无关紧要,因为在shuffle期间,连接文件被Map器并行读取,文件也可能在几个Map器之间被拆分,反之亦然,一个Map器可以读取几个文件,然后Map器输出传递给每个reducer。而且,即使数据是按顺序排列的,由于并行性的原因,它也不是按顺序读取和分发的。另一方面,排序数据可以根据数据熵改进压缩。类似的数据可以更好地压缩。因此,按顺序排列的文件压缩文件可以更小,并且在连接查询执行期间读取速度更快。这可能会提高连接速度,因为Map程序读取数据的速度更快。另外,如果数据在加载过程中被排序,orc中的索引可以更有效地进行过滤。这取决于你的数据熵和你使用的过滤器。

相关问题