gpt4 book ai didi

dask - 异步 Xarray 写入 Zarr

转载 作者:行者123 更新时间:2023-12-05 02:09:59 30 4
gpt4 key购买 nike

全部。我正在使用 Dask 分布式集群在循环内编写 Zarr+Dask 支持的 Xarray 数据集,并且 dataset.to_zarr 正在阻塞。当有散乱的 block 阻止循环的继续时,这确实会减慢速度。有没有办法异步执行 .to_zarr,这样循环就可以继续下一个数据集写入,而不会被一些掉队的 block 阻止?

最佳答案

使用分布式调度程序,您无需任何特殊努力即可获得异步行为。例如,如果您正在执行 arr.to_zarr,那么您确实要等待完成。但是,您可以执行以下操作:

client = Client(...)
out = arr.to_zarr(..., compute=False)
fut = client.compute(out)

这将返回一个 future ,fut,它的状态反射(reflect)了整个计算的当前状态,您可以选择是等待它还是继续提交新的工作。您还可以将其显示到进度条(在笔记本中),只要内核不忙,进度条就会异步更新。

关于dask - 异步 Xarray 写入 Zarr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59272474/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com