SuperAPI AI 工具集

data-engineering-storage-remote-access-libraries-fsspec

智能体与模型

查看项目

更新于 10-15 23:58

技能介绍

fsspec 提供统一的本地与远程文件系统 API,可与 pandas、xarray、Dask 等 Python 数据工具集成。

用途:在多种存储后端之间使用一致接口读写文件,如 S3、GCS、Azure、HTTP 等。

安装:pip install fsspec;按后端安装 pip install fsspec[s3]、fsspec[gcs]、fsspec[s3,gcs,azure],或直接 pip install s3fs gcsfs adlfs。

主要能力:通过 fsspec.filesystem() 创建 file、s3、gcs 等实例;支持 ls、exists、mkdir、open 等基础操作;可用 pandas 直接读取云端 CSV。协议链式与缓存示例:simplecache::s3://、filecache::、gzip::、zip::,如 fsspec.open_local("simplecache::s3://my-bucket/large-file.nc", simplecache={'cache_storage': '/tmp/fsspec_cache', 'compression': None})。

S3 高级用法:s3fs.S3FileSystem 支持 key、secret、token、client_kwargs(region_name、endpoint_url)、config_kwargs(max_pool_connections、retries),以及 asynchronous=True 异步并发读取(_cat_file)和 find、du、rm 等操作。

认证:支持显式凭证、环境变量(AWS_ACCESS_KEY_ID、GOOGLE_APPLICATION_CREDENTIALS 等)、配置文件(~/.aws/credentials、gcloud CLI)、IAM 角色/托管身份。

适用场景:需要广泛生态兼容、同时操作多种存储后端、需要协议链式与缓存,或处理 Parquet 之外多样格式时。集成示例:Polars、DuckDB、Pandas、PyArrow(pyarrow.fs.PyFileSystem(fs.FSSpecHandler(fs)))。

限制与性能:持久缓存优先 filecache::;高并发可提高 max_pool_connections;大量小文件并发可用异步 API;纯 Parquet 高吞吐建议 pyarrow.fs,极致大并发操作可考虑 obstore。其他细节暂未提供。