tosfsspec 完整实现了 fsspec 规范,除可直接在 Python 中使用外,还能与 Pandas、Dask、Ray、PyArrow、PyTorch 等主流数据分析与 AI 框架无缝集成。
说明
传入构造参数前,您需要先配置长期访问凭证,具体操作请参见操作步骤。 注意
之所以需要使用tos-new://而不是使用tos://,是因为当前非官网发布的tosfs已在fsspec开源库注册,占用了tos://这个协议头。 您可直接通过 fsspec.open() 访问 TOS 资源:在 URL 中使用 tos-new:// 协议,并通过 storage_options 传入所需的构造参数即可。
fsspec.register_implementation用法下,fsspec 会自动选择 TosFileSystem 作为底层文件系统实现。
在 Python 中可直接通过 tosfsspec 的常用 API 读写 TOS,类似本地文件系统的使用方式。
tosfsspec 已适配多进程场景,可在多进程环境下使用;但仍建议以 spawn 模式启动子进程。
tosfsspec 遵循 fsspec 规范,因此 Pandas 可借助 tosfsspec 直接从 TOS 读取或写入 CSV、Parquet 等多种格式数据,无需先下载到本地。
- 将 DataFrame 写入 TOS 的 Parquet 文件
Dask 是一套灵活的并行计算库,天然支持 fsspec 兼容的文件系统。结合 tosfsspec 后,可通过 dask.dataframe 一次性并行读取 TOS 上的多个 CSV 文件,并构建分布式 DataFrame。
- 假设您的 TOS Bucket 中存放了如下结构的多个 CSV 文件:
- 您可以使用 dask 一次性将它们全部加载进来:
Ray 可结合 tosfsspec 在分布式集群中直接读取并处理 TOS 上的数据。
pyarrow可通过 filesystem 参数使用 tosfsspec,实现高效读写 TOS 中的数据。
PyTorch可以在数据集加载和 Checkpoint 读写等场景集成 tosfsspec。