S3 中的最佳最大 Parquet 文件大小

aco*_*aco 6 amazon-s3 parquet

我正在尝试计算在 S3 上对 Parquet 数据进行分区时的最佳文件大小。AWS 建议避免文件小于 128MB。但是否也有建议的最大文件大小?

Databricks 建议文件大小应在 1GB 左右,但我不清楚这是否仅适用于 HDFS。我知道最佳文件大小取决于 HDFS 块大小。然而,S3 没有任何块大小的概念。

有什么想法吗?

OT *_*ani 1

您可能应该考虑两件事:

1) 对于纯对象存储(例如 s3),在 s3 端,块大小是多少并不重要 - 您不需要与任何内容对齐。

2)更重要的是你将如何以及用什么来读取数据?考虑分区、修剪、行组和谓词下推——还有你将如何加入这个?

例如:Presto (Athena) 更喜欢超过 128Mb 的文件,但太大会导致并行性较差 - 我通常目标是 1-2GB 文件

Redshift 更喜欢大规模并行,因此例如 4 个节点、160 个文件会比 4 个节点、4 个文件更好:)

建议阅读: https://www.upsolver.com/blog/aws-athena-performance-best-practices-performance-tuning-tips https://aws.amazon.com/blogs/big-data/top-10-亚马逊雅典娜性能调整技巧/