当前位置: 首页 > news >正文

由coalesce(1)OOM引发的coalesce和repartition理解

事件:最后输出文件就20MB,但是用coalesce(1)报错OOM

Task数量严格等于Stage内最后一个RDD的分区数

如果coalesce(1),你以为是数据都算好了再合并文件的。实际上,整个stage的并行度都变了,前面如果有where,各种花式map操作,都是由1个task来处理,很容易out of memory(比如where操作前数据量比较大,都集中在1个task里,哪怕结果文件就一点点)。

如果是repartition(1),这是自带shuffle的,自然就产生了下一个stage,shuffleq前的并行度完全不受影响,该干嘛干嘛,只是最后合成1个文件。自然就是很安全的。

所以对于coalesce,这是会增大内存开销的,谨慎用,确保安全情况用。实在不行用repartition也安全。

http://www.lryc.cn/news/580330.html

相关文章:

  • C++ 网络编程(15) 利用asio协程搭建异步服务器
  • Linux——进程(下)
  • android studio 配置硬件加速 haxm
  • spring中 方法上@Transation实现原理
  • C++20中的counting_semaphore的应用
  • C++ 模板参数匹配、特化
  • AtCoder AT_abc413_c [ABC413C] Large Queue 题解
  • Oracle 数据库——企业级核心系统
  • MySQL(118)如何使用SSL进行加密连接?
  • mysql的备份与恢复(使用mysqldump)
  • pyinstaller打包教程
  • TCP数据的发送和接收
  • 闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
  • Ubuntu基础(监控重启和查找程序)
  • 模块三:现代C++工程实践(4篇)第一篇《C++模块化开发:从Header-only到CMake模块化》
  • Redis的编译安装
  • LabVIEW电阻率测试
  • LinkedList剖析
  • Kafka消息积压全面解决方案:从应急处理到系统优化
  • idea的使用小技巧,个人向
  • 类图+案例+代码详解:软件设计模式----适配器模式
  • 【电赛培训】运算放大器、滤波器
  • 使用 C++/OpenCV 和 MFCC 构建双重认证智能门禁系统
  • 堆的简单介绍
  • 智链万物:人工智能驱动的产业智能化革命
  • 使用 C++/Faiss 加速海量 MFCC 特征的相似性搜索
  • Python(28)Python循环语句指南:从语法糖到CPython字节码的底层探秘
  • 解决el-select数据类型相同但是显示数字的问题
  • 【Project】基于kafka的高可用分布式日志监控与告警系统
  • C#扩展方法全解析:给现有类型插上翅膀的魔法