gpt4 book ai didi

hive - 我们可以预测 Hive SELECT * 查询结果的顺序吗?

转载 作者:行者123 更新时间:2023-12-05 06:29:24 29 4
gpt4 key购买 nike

如果使用相同的 DBMS 作为 Metastore,SELECT * 查询(无 ORDER BY) 的结果顺序是否可能始终相同?

因此,只要将 MySQL 用作 Metastore,SELECT *; 查询的结果顺序将始终相同。如果使用 Postgres,相同数据的顺序将始终相同,但与使用 MySQL 时不同。我说的是相同的数据。

也许这一切都归结为结果的默认顺序是什么以及为什么 MySQL 和 Postgres Metastore 不同的问题。

最佳答案

没有行的默认顺序这样的东西,没有 ORDER BY 顺序是无法保证的。这个事实与使用的 Metastore 数据库无关。

一般情况下,许多进程(映射器)并行读取数据,在计算拆分后,每个进程开始读取一些文件或几个文件,具体取决于计算的拆分。所有并行进程可以处理不同的数据量并运行在不同的节点上,每次的负载不一样,所以它们开始返回行和完成的时间不同,取决于太多因素,例如节点负载、网络负载、容量每个过程的数据等等。删除所有这些因素可以提高订单预测的准确性。比如说,单线程顺序文件读取将以与文件中相同的顺序返回行。但这不是数据库的工作方式。

另外,根据 Codd 的关系理论,列和行的顺序对数据库来说并不重要。

关于hive - 我们可以预测 Hive SELECT * 查询结果的顺序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53536182/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com