如何在Dask中使用自定义fsspec文件系统?
解决Dask结合自定义fsspec文件系统的
rawfs属性错误 问题场景
基于fsspec实现了自定义文件系统MyLocalFileSystem,尝试用它读取文件并生成Dask DataFrame时,抛出如下错误:
AttributeError: 'MyLocalFileSystem' object has no attribute 'rawfs'
排查与尝试
初步判断是Dask Worker节点未正确获取自定义文件系统的实例,先后尝试了以下方案但未解决:
- 显式传递
rawfs参数给文件系统实例 - 在Worker节点上执行初始化函数,手动注册文件系统
最终解决方案
将自定义文件系统MyLocalFileSystem的完整代码写入单独的Python文件,确保该文件被上传到所有Dask Worker节点的可导入路径下(比如Worker的工作目录,或者Python环境的site-packages目录)。重启Worker后,Dask能正确识别并初始化自定义文件系统实例,问题解决。
内容的提问来源于stack exchange,提问作者Brian Moths
相关产品推荐
相关产品推荐

