首页 > 解决方案 > pyspark 作业的性能问题

问题描述

我正在使用 pyspark / spark sql 来执行非常简单的任务。数据大小非常小,最高为 215 MB。90% 的数据源大小小于 15 MB。我们进行过滤、处理和数据聚合,90% 的数据的结果数据也小于 5 MB。只有 2 个数据结果是 120 MB 和 260 MB。主要热点是 coalesce(1) 操作,因为我们要求只生成一个文件。我可以理解 120 MB 和 260 MB gziped 文件的生成和写入需要时间。但是生成和写入小于 5MB 的文件应该很快。当我监控作业时,我可以看到合并和保存数据文件花费了很多时间。我不知道为什么生成和写入 2-3 MB 文件需要 60-70 秒。

配置: 我通过每个执行器 3 个 vcore 的胖执行器实现了一些性能提升。我正在使用具有 4 个核心节点的 1 个主 3 个工作集群。

问候

马尼什·佐佩

标签: apache-sparkpysparkgoogle-cloud-dataproc

解决方案


推荐阅读