参考:https://github.com/nalepae/pandarallel/issues/127
在使用pandarallel报错OSError: [Errno 28] No space left on device,根据上述issue发现确实默认使用的MEMORY_FS_ROOT为 /dev/shm,而在docker环境下这个目录大小只有64M,完全不够处理数据
因此,需要添加如下代码:
os.environ['MEMORY_FS_ROOT'] = "/root"
os.environ['JOBLIB_TEMP_FOLDER'] = "/root"
一开始已经加了参数而而在pandarallel/core.py中依旧没有被覆盖改写,后来经过打印os.environ发现传入的参数没有覆盖成功,需要将上述代码
import os
os.environ['MEMORY_FS_ROOT'] = "/root"
os.environ['JOBLIB_TEMP_FOLDER'] = "/root"
放在执行文件的最上面即可成功覆盖参数。