S3 中的最佳最大 Parquet 文件大小
Posted
技术标签:
【中文标题】S3 中的最佳最大 Parquet 文件大小【英文标题】:Optimal maximum Parquet file size in S3 【发布时间】:2019-03-07 00:30:29 【问题描述】:我正在尝试计算在 S3 上对 Parquet 数据进行分区时的最佳文件大小。 AWS 推荐avoiding having files less than 128MB。但是还有推荐的最大文件大小吗?
Databricks 推荐 files should be around 1GB,但我不清楚这是否仅适用于 HDFS。我知道最佳文件大小取决于 HDFS 块大小。但是,S3 没有块大小的概念。
有什么想法吗?
【问题讨论】:
【参考方案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-performance-tuning-tips-for-amazon-athena/
【讨论】:
以上是关于S3 中的最佳最大 Parquet 文件大小的主要内容,如果未能解决你的问题,请参考以下文章
上传到 AWS S3 时,Java 中的最大文件上传大小是多少?
使用存储在 s3 中的 parquet 文件在 Greenplum 中创建外部表
S3 Select 会加速 Parquet 文件的 Spark 分析吗?