问题描述
我有一个奇怪的问题,希望您能提供一些意见。基本上,我正在 AWS Pangeo Cloud 上运行笔记本,并使用 xr.open_mfdatase
t.
如果我根本不使用 dask,这会很好用,数据集在几分钟内构建完毕。
但如果我在打开文件之前创建一个 dask.distributed
客户端,open_mfdataset
会挂起,似乎永远。
我制作了一些可以在这里探索的简单笔记本,以及可用于运行它们的活页夹链接。任何输入将不胜感激!
https://github.com/lsterzinger/pangeo-cloud-L2-satellite/tree/main/dask_troubleshooting
解决方法
以下是否会实现您的目标?
ds = xr.open_mfdataset(file_objs,combine='nested',concat_dim='t',data_vars='minimal',coords='minimal',compat='override')
请注意,使用这些设置,非 dask 版本在大约 35 秒内加载,而 dask 版本似乎在 90 秒的范围内。我没有处理过这些数据,所以不知道这里是否是这种情况,但扩展优势可能会适用于更多文件(现在是 24 个)。
这是基于 docs 中的指导:
通常,其中一些变量需要沿着一个维度(比如“时间”)连接起来,而其余的在整个数据集中是相等的(忽略浮点差异)。
此命令沿“时间”维度连接变量,但仅连接那些已经包含“时间”维度的变量(data_vars='minimal',coords='minimal')。缺少“时间”维度的变量取自第一个数据集 (compat='override')。