gpt4 book ai didi

database - AWS Athena 的分区数据导致 S3 中有很多小文件

转载 作者:搜寻专家 更新时间:2023-10-30 20:23:54 33 4
gpt4 key购买 nike

我有一个大型数据集 (>40G),我想将其存储在 S3 中,然后使用 Athena 进行查询。

根据 this blog post 的建议,我可以将我的数据存储在以下分层目录结构中,以便在从我的数据集创建表时使用 MSCK REPAIR 自动添加分区。

s3://yourBucket/pathToTable/<PARTITION_COLUMN_NAME>=<VALUE>/<PARTITION_COLUMN_NAME>=<VALUE>/

但是,这需要我将我的数据集拆分为许多较小的数据文件,并且每个文件都将存储在一个嵌套的文件夹下,具体取决于分区键。

虽然使用分区可以减少 Athena 扫描的数据量,从而加快查询速度,但是管理大量小文件是否会导致 S3 出现性能问题?这里有我需要考虑的权衡吗?

最佳答案

是的,您可能会遇到小文件和大量分区的效率显着下降。

Here对文件大小和分区数有很好的解释和建议,应该大于 128 MB 以补偿开销。

另外,我在一个非常小的数据集 (1 GB) 中进行了一些实验,按分钟、小时和天对数据进行分区。当分区变小时,扫描的数据会减少,但查询时间会增加很多(在一些实验中慢了 40 倍)。

关于database - AWS Athena 的分区数据导致 S3 中有很多小文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48708693/

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