工程開發
zarr-python avatar

zarr-python

用於儲存分塊 N 維陣列的高效能 Python 技能。支援雲端儲存 (S3/GCS)、平行 I/O,並與 NumPy、Dask 及 Xarray 無縫整合,適用於大規模科學運算。

簡介

Zarr Python 技能為 Python 中的大規模 N 維資料結構處理提供了最佳化介面。此技能專為科學運算、資料工程與機器學習管線設計,透過高效的分塊與壓縮技術,能夠建立並操作超出本機記憶體容量的陣列。利用 Zarr,使用者可以直接在雲端原生儲存系統(如 Amazon S3 或 Google Cloud Storage)上執行平行 I/O 操作,對於處理大量地理空間、氣候或觀測資料的研究人員與工程師而言,這是一個至關重要的工具。

  • 實現與 PyData 生態系統的無縫互通性,特別是針對數值處理的 NumPy、平行分散式運算的 Dask,以及多維標記資料分析的 Xarray。

  • 支援進階分塊策略,根據存取模式(如橫向或縱向資料擷取)最佳化效能。

  • 提供強大的壓縮選項,包括 Blosc(具有 Zstd 和 LZ4 等轉碼器)、Gzip 和 Zstd,以平衡儲存空間與讀寫速度。

  • 實作分片 (sharding) 功能,透過減少物件儲存請求的開銷,提升雲端環境中管理數百萬個小區塊時的效能。

  • 提供一致的 API 用於陣列初始化、調整大小、沿軸附加資料,以及透過 vindex 和 oindex 進行基於座標的索引。

  • 使用者應定義區塊大小(目標約為每個區塊 1MB),以最佳化 I/O 效能與中繼資料處理。

  • 確保安裝了相應的檔案系統驅動程式,如 s3fs 或 gcsfs,以支援雲端原生工作流程。

  • 寫入前必須將整個分片載入記憶體,因此大規模分片資料集需謹慎規劃。

  • 使用 Zarr 的 open() 函式進行儲存結構的自動偵測;支援多種壓縮過濾器,允許在生產執行期間進行精確的效能調校。一般高互動性工作負載建議優先使用 Blosc。

倉庫統計

Star 數
195
Fork 數
26
Open Issue 數
4
主要語言
Python
預設分支
main
同步狀態
閒置
最近同步時間
2026年4月30日 上午10:39
在 GitHub 查看