文章目录gcsfs用本地文件系统的方式操作Google Cloud Storage1、这工具是干嘛的2、支持两种高级存储模式3、认证方式很全4、异步支持5、适合谁用gcsfs用本地文件系统的方式操作Google Cloud Storagegcsfs在GitHub上已有391 Star。这是一个Python库做的事情很简单把Google Cloud Storage当成本地文件系统来用。基于fsspec框架你可以像操作本地目录一样读写云端存储桶里的文件。对于习惯用Python处理文件的人来说这意味着不需要学习新的存储API直接复用已有的文件操作经验。1、这工具是干嘛的Google Cloud Storage是GCP的对象存储服务但原生API并不符合多数开发者的操作习惯。gcsfs在中间搭了一层抽象把bucket映射为目录把对象映射为文件。安装只需要一行pipinstallgcsfs或者用condacondainstall-cconda-forge gcsfs引入后初始化文件系统对象importgcsfs fsgcsfs.GCSFileSystem(projectmy-google-project)filesfs.ls(my-bucket)withfs.open(my-bucket/data.txt,rb)asf:contentf.read()代码风格和标准库的open()、os.listdir()基本一致几乎没有学习成本。因为兼容fsspec接口gcsfs可以和pandas、dask、xarray等库直接配合读取存储在GCS上的数据文件时不需要额外适配。2、支持两种高级存储模式gcsfs近期加入了对Google Cloud Storage新特性的自动支持。Hierarchical NamespaceHNS传统GCS是扁平命名空间目录只是前缀模拟。HNS引入真正的逻辑目录结构带来几个实际好处目录重命名和移动变为O(1)的元数据操作不再需要对每个对象执行复制加删除。读写QPS提升最高可达8倍。适合管理大量小文件比如AI训练checkpoint和日志。Rapid BucketsZonal Storage这是面向低延迟、高吞吐场景的区域存储数据与GPU/TPU集群位于同一可用区网络延迟最小。支持在现有对象上追加数据标准GCS对象不支持此操作。针对高速模型加载和实时日志流做了优化。3、认证方式很全gcsfs覆盖了常见的GCP认证场景默认模式自动读取本地gcloud凭据或环境变量中的服务账户。Cloud模式显式使用Google元数据服务。匿名模式无需登录即可访问公开数据。服务账户模式直接传入JSON密钥文件路径。4、异步支持底层基于aiohttp构建。高并发场景下初始化时传入asynchronousTrue即可使用异步API适合IO密集型任务。5、适合谁用在GCP上做数据分析需要把GCS数据接入pandas、dask、xarray的人。构建ETL管线需要在云端和本地之间频繁搬运文件的人。写AI训练代码需要把checkpoint存到对象存储的人。做数据平台开发需要统一接口访问本地和云端存储的人。这个项目由fsspec社区维护Anaconda也提供了部分资金支持。int存到对象存储的人。做数据平台开发需要统一接口访问本地和云端存储的人。这个项目由fsspec社区维护Anaconda也提供了部分资金支持。