多个工作流是否可以在单独的客户端流程中重复使用持久化的DataFrame?

时间:2019-08-28 14:03:38

标签: dask

我有一系列数据准备工作,这些工作由外部系统控制(计划,启动,监视等)。

这些作业都重复使用相同的Dask群集(每个过程都会创建一个新客户端)。

job1完成并退出时,其持久化的DataFrames将在工作者内存中保留多长时间?

job2是否可以访问由job1保留的DataFrame?如果可以,怎么办?

1 个答案:

答案 0 :(得分:0)

  

job1完成并存在后,其持久化的DataFrames将在工作者内存中保留多长时间?

几毫秒。一旦没有客户指向,Dask会立即删除数据。

  

job2是否可以访问由job1保留的DataFrame?如果可以,怎么办?

是的。您可能正在寻找数据集功能。

https://docs.dask.org/en/latest/futures.html#distributed.Client.publish_dataset https://distributed.dask.org/en/latest/publish.html

# on machine 1
client1.datasets["my-dataset"] = df

# on machine 2
df = client2.datasets["my-dataset"]

调度程序还可以使用多种其他机制来保留期货,包括变量,队列,发布/订阅等。我的猜测是,尽管您正在寻找数据集API。