gcsfs:用本地文件系统的方式操作Google Cloud Storage
2026/6/25 14:10:43 网站建设 项目流程

文章目录

  • gcsfs:用本地文件系统的方式操作Google Cloud Storage
    • 1、这工具是干嘛的
    • 2、支持两种高级存储模式
    • 3、认证方式很全
    • 4、异步支持
    • 5、适合谁用

gcsfs:用本地文件系统的方式操作Google Cloud Storage

gcsfs在GitHub上已有391 Star。

这是一个Python库,做的事情很简单:把Google Cloud Storage当成本地文件系统来用。基于fsspec框架,你可以像操作本地目录一样读写云端存储桶里的文件。对于习惯用Python处理文件的人来说,这意味着不需要学习新的存储API,直接复用已有的文件操作经验。

1、这工具是干嘛的

Google Cloud Storage是GCP的对象存储服务,但原生API并不符合多数开发者的操作习惯。gcsfs在中间搭了一层抽象,把bucket映射为目录,把对象映射为文件。

安装只需要一行:

pipinstallgcsfs

或者用conda:

condainstall-cconda-forge gcsfs

引入后初始化文件系统对象:

importgcsfs fs=gcsfs.GCSFileSystem(project='my-google-project')files=fs.ls('my-bucket')withfs.open('my-bucket/data.txt','rb')asf:content=f.read()

代码风格和标准库的open()os.listdir()基本一致,几乎没有学习成本。因为兼容fsspec接口,gcsfs可以和pandas、dask、xarray等库直接配合,读取存储在GCS上的数据文件时不需要额外适配。

2、支持两种高级存储模式

gcsfs近期加入了对Google Cloud Storage新特性的自动支持。

Hierarchical Namespace(HNS)

传统GCS是扁平命名空间,目录只是前缀模拟。HNS引入真正的逻辑目录结构,带来几个实际好处:

  • 目录重命名和移动变为O(1)的元数据操作,不再需要对每个对象执行复制加删除。
  • 读写QPS提升最高可达8倍。
  • 适合管理大量小文件,比如AI训练checkpoint和日志。

Rapid Buckets(Zonal Storage)

这是面向低延迟、高吞吐场景的区域存储:

  • 数据与GPU/TPU集群位于同一可用区,网络延迟最小。
  • 支持在现有对象上追加数据,标准GCS对象不支持此操作。
  • 针对高速模型加载和实时日志流做了优化。

3、认证方式很全

gcsfs覆盖了常见的GCP认证场景:

  • 默认模式:自动读取本地gcloud凭据或环境变量中的服务账户。
  • Cloud模式:显式使用Google元数据服务。
  • 匿名模式:无需登录即可访问公开数据。
  • 服务账户模式:直接传入JSON密钥文件路径。

4、异步支持

底层基于aiohttp构建。高并发场景下,初始化时传入asynchronous=True即可使用异步API,适合IO密集型任务。

5、适合谁用

  • 在GCP上做数据分析,需要把GCS数据接入pandas、dask、xarray的人。
  • 构建ETL管线,需要在云端和本地之间频繁搬运文件的人。
  • 写AI训练代码,需要把checkpoint存到对象存储的人。
  • 做数据平台开发,需要统一接口访问本地和云端存储的人。

这个项目由fsspec社区维护,Anaconda也提供了部分资金支持。

int存到对象存储的人。

  • 做数据平台开发,需要统一接口访问本地和云端存储的人。

这个项目由fsspec社区维护,Anaconda也提供了部分资金支持。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询