首页 > 解决方案 > 使用 map_blocks 根据每个块的内容计算一个堆

问题描述

我在笔记本电脑上创建了一个 Dask 集群,并使用 xarray.open_dataset('some_data.nc',chunks={'lat':'auto', 'lon':'auto', ' 在其上加载了一个 NetCDF 数据集时间':-1})

我已将其转换为时间序列的分布式数组,ts,每个(纬度,经度)对一个。对于这个数组,ts.chunks 是:((1555200, 1555200, 1555200, 1555200, 1555200, 1555200), (12,))

现在我想做的是为每个块创建一个 heapq,每个块的每行计算一个条目。我希望我可以为此使用 map_blocks,但我不知道如何。另外,我想根据这些堆做一些减少。

有没有一种简单的方法可以做到这一点?谢谢。

标签: dask

解决方案


实现此目的的一种简单方法是切换到 Dask 延迟。请参阅https://docs.dask.org/en/latest/delayed-collections.html


推荐阅读