apache-spark - 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 个工作集群。
问候
马尼什·佐佩
解决方案
推荐阅读
- python - 如何修复 Python 中的“TypeError:字符串索引必须是整数”错误
- java - 是否有在 java 中生成 asynchttp 客户端的 swagger-codegen 扩展?
- tensorflow - Keras 或 Tensorflow 是否内置了 NaN 保护?
- rest - 了解默认的 Rest Api
- kubernetes - Kafka 和 Kubernetes 随机产生错误:Error: NOT_LEADER_FOR_PARTITION 或 Error when sent message to topic XXX with key: null
- bash - 当名称中有空格时如何从一个目录复制到另一个目录?
- node.js - 如何在 jhipster 生成器中将 Swagger UI 添加到微服务应用程序?
- javascript - 如何在 ReactJs 中将元素设置为 localStorage?
- android - 使用 RxJava 获取 URL 数据
- bazel - 如何使用 select() 指定较低级别库依赖项的 src 配置