gpt4 book ai didi

python-xarray - 远程 zarr 存储上的 open_mfdataset() 给出 zarr.errors.GroupNotFoundError

转载 作者:行者123 更新时间:2023-12-04 08:07:37 24 4
gpt4 key购买 nike

我想使用 xarray.open_mfdataset() 读取远程 zarr 商店
我收到了 zarr.errors.GroupNotFoundError: group not found at path '' .底部回溯。

import xarray as xr
import s3fs

fs = s3fs.S3FileSystem(anon=True)
uri = "s3://era5-pds/zarr/2020/12/data/eastward_wind_at_10_metres.zarr"
file = s3fs.S3Map(uri, s3=fs)
ds = xr.open_mfdataset(file, engine="zarr")
我可以使用 xr.open_zarr 打开它
ds = xr.open_zarr(file)
如果我要在本地下载 zarr 商店,它就可以正常工作
import xarray as xr
import s3fs
fs = s3fs.S3FileSystem(anon=True)
fs.get("s3://era5-pds/zarr/2020/12/data/eastward_wind_at_10_metres.zarr/*", "eastward_wind_at_10_metres.zarr", recursive=True)
ds = xr.open_mfdataset("eastward_wind_at_10_metres.zarr", engine="zarr")
open_mfdataset 的引用在远程 zarr 商店
>>> ds = xr.open_mfdataset(file, engine="zarr")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/ray.bell/miniconda/envs/test_env/lib/python3.8/site-packages/xarray/backends/api.py", line 948, in open_mfdataset
datasets = [open_(p, **open_kwargs) for p in paths]
File "/Users/ray.bell/miniconda/envs/test_env/lib/python3.8/site-packages/xarray/backends/api.py", line 948, in <listcomp>
datasets = [open_(p, **open_kwargs) for p in paths]
File "/Users/ray.bell/miniconda/envs/test_env/lib/python3.8/site-packages/xarray/backends/api.py", line 572, in open_dataset
store = opener(filename_or_obj, **extra_kwargs, **backend_kwargs)
File "/Users/ray.bell/miniconda/envs/test_env/lib/python3.8/site-packages/xarray/backends/zarr.py", line 296, in open_group
zarr_group = zarr.open_group(store, **open_kwargs)
File "/Users/ray.bell/miniconda/envs/test_env/lib/python3.8/site-packages/zarr/hierarchy.py", line 1166, in open_group
raise GroupNotFoundError(path)
zarr.errors.GroupNotFoundError: group not found at path ''

最佳答案

我认为 open_mfdataset 在你的路径上做某种 glob ,因为它需要多个路径来处理(因为这是多文件)。
以下工作(前者可能只在主人上)

ds = xr.open_mfdataset(uri, engine="zarr", backend_kwargs=dict(storage_options={'anon': True}))

ds = xr.open_mfdataset([file], engine="zarr")

关于python-xarray - 远程 zarr 存储上的 open_mfdataset() 给出 zarr.errors.GroupNotFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66145459/

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