apache-spark - Pyspark S3 写入耗时过长
问题描述
我有一个将处理后的输出转储到 S3 存储桶的 spark 应用程序。我在 pyspark 中的输出数据帧的分区数是 300。我有列“id”(~250 个唯一值),我用它来用 partitionBy 写入文件。所以大约我得到了 75K 个文件,总和为 11GB。
在我的 spark 应用程序中,将此数据写入 S3 的所有阶段都已完成,但正在从 _temp 文件夹移动文件。这进展非常缓慢,按照目前的速度,这将需要一天以上的时间。这里的根本原因是什么以及如何优化它?
解决方案
通过之前的“id”重新分区写入,这会将每个分区的文件数减少到一个,从而提高写入速度。
推荐阅读
- apache - Apache localhost 仅在 Ubuntu 18.04 上?
- hyperledger-fabric - 在哪里放置用户证书 hyperledger Fabric
- c++ - WaitForSingleObject 不等待进程结束
- javascript - Jquery datatable 能够展开/折叠除之前已经展开/折叠的单个行之外的所有行
- javascript - JavaScript 类和“this”
- python - 通过 Youtube api 搜索后如何获取 Youtube 视频
- css - 悬停在小尺寸视图中充当点击
- python - 从文本文件 Python 中提取 URL 和 TITLE
- elasticsearch - Logstash 拆分过滤器
- flutter - 如何在颤动中使文本与宽度允许的一样大