将数据帧传递到ray的正确方法

问题描述

我正在尝试用Ray做最简单的事情,但是无论我做什么,都永远不会释放内存并失败。

使用情况很简单 将实木复合地板文件读取到DF->传递到角色池->更改DF->返回DF

viewWillAppear

我尝试了其他方法来执行相同的操作,而不是使用map命令,而是手动提交,但是无论如何,它总是会锁定内存,并在几百个数据帧后失败。

解决方法

每个任务是否需要保留不同文件之间的状态? Ray具有简化任务的抽象:

import ray

ray.init()

@ray.remote
def read_and_write(path):
    df = pd.read_parquet(path)
    ... do things
    df.to_parquet("./temp/...")

import os
arr = os.listdir("/some/files")
results = ray.get([read_and_write.remote(path) for path in arr])