gcsfs:把 Google Cloud Storage 当成本地目录来用

gcsfs:把 Google Cloud Storage 当成本地目录来用

gcsfs 在 GitHub 上已经有 391 Star。

这是一个 Python 库,给 Google Cloud Storage 套了一层文件系统接口。基于 fsspec 构建,用法和操作本地目录几乎一样。数据科学家和工程师用它读写云端文件,不需要关心底层存储细节。

正文顶部截图

1、这工具是干嘛的

gcsfs 只做一件事:让 GCS 的 bucket 用起来像本地文件系统。

import gcsfs

fs = gcsfs.GCSFileSystem(project='my-google-project')
files = fs.ls('my-bucket')

with fs.open('my-bucket/data.txt', 'rb') as f:
    content = f.read()

三行代码就能列出 bucket 内容、读取文件。熟悉 Python 文件操作的人,不需要额外学习成本。

它深度集成 fsspec 生态,pandas、xarray、dask 这些库都能直接通过 gcsfs 读写云端数据。你不需要手动下载文件到本地,分析流程直接跑在云上。

2、新特性:HNS 和 Rapid Buckets

README区域截图

最近的版本加入了对 Google Cloud Storage 高级特性的支持。

Hierarchical Namespace(HNS)

传统 GCS 是扁平结构,目录只是对象前缀的模拟。HNS 提供了真正的逻辑目录,带来了三个好处:

  • 原子重命名:移动或重命名目录是 O(1) 的元数据操作,不需要慢速的复制再删除
  • 高吞吐:读写操作的初始 QPS 提升最多 8 倍
  • 适合 AI 场景:管理数百万小文件、频繁存取 checkpoint 时性能更稳

Rapid Buckets(Zonal Storage)

这是为低延迟场景设计的区域存储:

  • 数据可以和 GPU/TPU 集群放在同一个 zone,网络延迟更低
  • 支持向已有对象追加数据,不需要完整重写
  • 针对高速模型加载和实时日志做了优化

这些特性让 gcsfs 从单纯的接口封装,变成了能发挥 GCS 全部能力的工具。

3、安装和认证

安装很简单:

pip install gcsfs
# 或者
conda install -c conda-forge gcsfs

认证支持四种模式:

  • 默认模式:读取本地 gcloud 凭证或环境变量里的服务账号
  • Cloud 模式:显式使用 Google Metadata 服务
  • 匿名模式:访问公开数据,不需要登录
  • 服务账号模式:传入 JSON 密钥文件路径

大多数用户用默认模式就够了。配置了 gcloud CLI 的机器,gcsfs 会自动读取凭证。

如果项目有高并发需求,gcsfs 提供了异步 API。初始化时传 asynchronous=True,底层基于 aiohttp,适合批量读写场景。

4、适合谁用

  • 在 GCS 上存数据、用 pandas/dask 做分析的数据工程师
  • 训练模型需要频繁读写 checkpoint 的机器学习开发者
  • 做 ETL 流程、需要把云存储当文件系统操作的工程师

这个项目由 Anaconda 赞助维护,和 fsspec 生态保持同步更新。如果你已经在用 Google Cloud Storage,gcsfs 几乎是必装的工具。

posted @ 2026-06-08 11:07  codinglife66  阅读(2)  评论(0)    收藏  举报