是否可以等到 `.persist()` 在 dask 中完成缓存?

Is it possible to wait until `.persist()` finishes caching in dask?

由于.persist()在后台缓存数据,我想知道是否可以等到缓存完成后再做下面的事情。另外,有没有办法让缓存过程有一个进度条?非常感谢

是的,您正在寻找的函数被恰当地命名为 waitprogress

from dask.distributed import wait, progress

progress 函数接受任何简单的东西并呈现进度条

>>> progress(x)
[XXXXXXX................]  5.2 seconds

如果您在 IPython 笔记本中,则进度也是 non-blocking 并使用 IPython 小部件。如果您在 IPython 控制台或直接 Python 可执行文件中,那么 progress 会阻塞并且不会 return 直到计算完成。

如果你不想要进度条,或者如果你在 Jupyter notebook 中,那么你可能想单独使用 wait 函数,它将阻塞直到计算完成。

wait(x)

http://distributed.readthedocs.io/en/latest/api.html#distributed.client.wait http://distributed.readthedocs.io/en/latest/api.html#distributed.diagnostics.progress