SuperAPI AI 工具集

zarr-python

编程与开发

查看项目

更新于 10-15 22:40

技能介绍

用途:Zarr 用于存储超出内存的大型 N 维数组,通过分块、压缩和并行 I/O 实现核外计算,是云原生科学数据管线的常用格式。

主要能力:支持 NumPy 风格索引读写、分块与分片(sharding)、多种压缩编解码器(Blosc/Zstd、LZ4、Gzip、Bytes)、层级分组与属性元数据、增量追加时间序列、格式转换(HDF5/NetCDF 与 Zarr 互转)。存储后端包括本地文件系统、内存、ZIP、S3、GCS。

使用方式:安装 pip install zarr,云存储需 pip install s3fs 或 pip install gcsfs,要求 Python 3.11+。用 zarr.create_array、zarr.zeros、zarr.array 创建数组,zarr.open_array 打开,zarr.group 建层级。云存储建议调用 zarr.consolidate_metadata 后用 zarr.open_consolidated 读取。ZipStore 必须显式 store.close()。

适用场景:核外计算、云原生数据工作流、Dask 并行读写、层级数据组织、格式转换、时间序列增量追加。带坐标标签的数组建议用 Xarray 配 Zarr 后端。

限制:分块形状需匹配访问模式,否则性能显著下降;单块应控制在 1–10 MB;z[:] 会加载全部数据,大数组应改用 Dask;合并元数据在数组更新后会过期,需重新合并;并发写重叠分块可能冲突。具体收费与平台支持资料未提供。