pandas - Dask pandas 冻结并最终被杀死
问题描述
我pandas.apply
用 a并行化了dask.map_paritions
它,它在测试 DataFrame(600 行)上运行良好,将我的计算从 6 分钟缩短到 2 分钟 - 按预期计算内部函数。
但是,当我运行完整集(6000 行)时,代码没有响应,CPU 和内存似乎被加载并最终被杀死:
import dask.dataframe as dd
ddf = dd.from_pandas(df, npartitions=params.parallel)
applied = ddf.map_partitions(lambda dframe: dframe.apply(lambda x: my_fun(inData, x), axis=1)).compute(scheduler='processes')
15 分钟后(顺便说一句,完整数据集上的简单 pandas.apply 需要大约 15 分钟)我从控制台得到:
Process finished with exit code 137 (interrupted by signal 9: SIGKILL)
我正在运行 MacOS、python 3.7,从 PyCharm 调用 - 有什么提示吗?
PS。我尝试了几个分区(2,4)和很多(32 - 因为我可能是内存问题)
PS2。我将相当大的对象传递inData
给我apply function
的经典熊猫没关系,因为它是线性的,在这里我认为这可能是一个问题(因为我有一个例如 ca 700MB 的网络图) - 可以吗?
解决方案
推荐阅读
- assembly - 计算器中的emu 8086除法错误溢出
- amazon-web-services - 如何在 CDK / Cloudformation 中获取 API 网关客户端证书?
- c# - 自定义排序数组 - 较大值之间的较小值
- json - 如何使用也包含无效 NULL 字符串的嵌套 JSON?
- html - 如何在 chrome 中不显示翻译请求
- php - 带有 PHP 的 nginx-unit 在找不到任何 PHP 文件时生成 Server 500 错误
- ios - UIPanGestureRecognizer - 仅在连接 2 个点的线路径内拖动 UIView
- swift - Mapbox Swift 指南针可见性属性
- python - CVXPY 中表达式的二次型 (quad_form)
- typescript - 如何正确键入作为打字稿中的类的变量