在Transforms Python/SQL中数据集构建出现OOM是什么含义?
Transforms 数据集构建场景下OOM术语解释
核心定义
OOM是Out Of Memory的缩写,即内存不足,指程序运行时申请的内存量超过了系统/任务配额能够分配的最大内存值,最终导致任务被迫中断退出。
该场景下的典型触发原因
- 全量加载超量数据:在Transforms Python中直接将GB/TB级别的原始数据集全部读取到内存(比如读入pandas DataFrame),没有做分批处理或算子下推优化,直接占满任务分配的内存配额
- 大计算量中间结果溢出:Transforms SQL执行多张大表关联、全量分组聚合等操作时,生成的中间计算结果体积超过内存上限,未触发自动落盘逻辑时就会触发OOM
- 资源抢占:同一计算节点上同时运行多个数据集构建任务,所有任务占用内存总和超出节点物理内存,会触发部分优先级较低的任务抛出OOM错误
- 自定义逻辑内存泄漏:Transforms Python中自定义的UDF、数据处理逻辑存在未释放的对象引用,任务运行过程中内存占用持续攀升,最终超出配额限制
典型识别特征
两类任务触发OOM时,运行日志中都会出现
OutOfMemoryError、Memory limit exceeded或中文「内存不足」类明确标识,任务会直接终止,不会继续执行后续的数据集构建步骤
内容的提问来源于stack exchange,提问作者vanhooser
相关产品推荐
相关产品推荐

