AWS Athena查询为何比直接读取Parquet慢3倍?是否符合预期?
该情况完全符合预期,原因如下:
- Athena的固有运行开销:Athena是Serverless查询服务,执行查询时需要经历多个环节:查询计划生成、集群资源调度启动、数据扫描、结果写入临时S3存储、再将结果拉取到本地Pandas。这些步骤都会产生额外耗时,哪怕是简单查询也无法避免启动和结果处理的overhead。
- 直接读取Parquet的轻量性:你用
partition_filter直接定位到coin='ADA'对应的分区目录,跳过了Athena的所有中间服务环节,直接从S3读取目标分区的Parquet文件,没有额外的调度、结果写入等步骤,自然耗时更短。 - 适用场景差异:Athena的优势体现在大数据量复杂查询(比如多表JOIN、全量数据聚合、跨多分区的复杂过滤),此时它的分布式扫描能力能大幅提升效率;而直接读取Parquet更适合小数据量单分区/简单过滤的场景,避免不必要的服务开销。
所以你遇到的Athena比直接读Parquet慢3倍的情况是正常的,两者针对的场景不同,不能用单一场景的耗时来判断性能优劣。
内容的提问来源于stack exchange,提问作者survival_law00
相关产品推荐
相关产品推荐

