petastorm 0.9.8 : 导致OSError: Passed non-file path的其中一个原因及解决方案

GitHub - uber/petastorm
https://github.com/uber/petastorm/

版本:
Windows 10
Python 3.7.0
petastorm 0.9.8
pyarrow 3.0.0

编写test.py

from petastorm import make_reader

reader = make_reader('file:///D:/test/test.parquet') 
print(reader)

报错
OSError: Passed non-file path

解决方法:
修改petastorm库的fs_utils.py文件中第26行的get_dataset_path函数
在其中添加以下代码:

    import platform
    if parsed_url.scheme.lower() in ['file'] and "Windows" in platform.system():
        return parsed_url.path[1:]

修改前

修改后

posted @ 2021-04-10 21:26  东坡何罪  阅读(318)  评论(0)    收藏  举报