apache-spark - 如何将数据聚合工作分配给多个 Spark 执行器
问题描述
需要快速建议。
我在 S3 中有一个压缩文件(3 GB 大小),我正在尝试使用 apache spark 读取该文件,然后我正在执行聚合操作。
所以当我使用以下配置启动火花作业时
--num-executors 3 --executor-memory 10G --executor-cores 4 --driver-memory 5G
火花作业从 3 个执行者开始,但只有一个任务正在启动,其他 2 个执行者是理想的。我试着做reparation(3)
只是为了坚持火花启动更多任务,但我仍然看到只有一个任务在运行。在我目前的情况下,数据端在未压缩时为 50 G,并且由于只有一个任务正在尝试处理数据,因此我看到内存不足异常。
我尝试添加 StorageLevel,但这并没有解决我的问题。
非常感谢任何建议。
提前致谢。
解决方案
推荐阅读
- javascript - 是否可以为下面的图像创建单路径 SVG?
- spring - ThreadPoolTaskExecutor 给出 ConnectionPoolTimeOutException
- reactjs - 如何禁用加载 React Devtools 后端脚本
- json - 如果json更改,如何从api加载数据?json上的观察者?使用 vue-chartjs 和 axios 可视化数据
- python - ValueError:形状 (None, 1) 和 (None, 10) 不兼容
- python - 如何在适当的位置键入转换函数的许多参数?
- apache-kafka - KSQL创建具有多列聚合的表
- c++ - 无法理解 ch = cin.get() 的使用
- jquery - 按钮单击的 Fullcalendar gotoDate 方法
- java - 如何在 QMap spring-data-mongoDB queryDSL 中查找元素