ORDER BY 对于 Aws Athena Presto 中的性能重要吗?

问题描述 投票:0回答:1

当您使用 CTAS 查询创建新表时,您可以添加

ORDER BY
。当你将它与
bucket_by
结合时你必须这样做。如果您不投篮,
ORDER BY
对您的表现仍然重要吗?

amazon-athena presto
1个回答
0
投票

简短的回答是否定的。

当您查询大数据时,您需要考虑扫描数据以找到您要查找的数据的复杂性。使用关系数据库时使用的诸如树之类的技术(例如创建索引)与大数据领域无关。因此,数据的顺序在创建索引等时会有所帮助,但与 Athena 中使用的大数据引擎无关。

在大数据中,您应该想办法允许“过滤”数据,以避免扫描所有数据来查找数据。最常见的过滤方法是使用桶。例如,如果您有每日或每月的存储桶,则当您只关心特定日期或月份的数据时,可以跳过所有不相关的存储桶。因此,您希望数据以某种方式排序,以便于将其拆分到相关的存储桶中,而存储桶中数据的顺序并不重要。 大数据中数据组织需要考虑的另一个方面是数据将以分布式方式处理。您的 SQL 查询将被解析、编译并发送到数百或数千个处理器来执行查询执行的不同步骤。查询的某些部分可以受益于按照查询预期的顺序对数据进行排序,例如窗口函数。但是,您可以发送不同的 SQL 查询,其中一些查询将使用有序数据可以获得的轻微效率,而其他查询则不会。由于数据文件中只能有一个物理顺序,因此提前考虑该顺序 (CTAS) 通常是无用的。

© www.soinside.com 2019 - 2024. All rights reserved.