kedro ossfs 支持说明

kedro 是基于fsspec 进行内部文件处理的,但是在对于是cloud remote 文件系统的时候是基于白名单处理的有缺陷,对于oss 支持就有问题(比如解析bucket),解决方法很多,一种是直接修改kedro.io.core 中的CLOUD_PROTOCOLS,还有一种就是通过python 的猴子补丁模式,比较快速

修改方法

  • 猴子补丁模式参考修改
    可以直接在pipeline 项目中的 pipeline_registry.py 中进行修改,如下
from  kedro.io import core
core.CLOUD_PROTOCOLS  = ("s3","oss","s3n", "s3a", "gcs", "gs", "adl", "abfs", "abfss", "gdrive")

这样项目模块中的CLOUD_PROTOCOLS 就包含了oss 了,支持就可以了

  • 源码直接修改
    就是修改kedro.io import core 中的CLOUD_PROTOCOLS 添加oss 等

说明

目前官方kedro 我也已经发了一个pr,等待review

参考资料

https://github.com/fsspec/ossfs
https://docs.kedro.org/en/stable/data/data_catalog.html
https://dev.to/karishmashukla/monkeying-around-with-python-a-guide-to-monkey-patching-obc
https://github.com/GrahamDumpleton/wrapt/blob/develop/blog/11-safely-applying-monkey-patches-in-python.md
https://machinelearningmastery.com/monkey-patching-python-code/
https://medium.com/@bits_code/https-medium-com-bits-code-monkey-patching-in-python-9a28dc0cbe4f

posted on   荣锋亮  阅读(5)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-10-05 openmetadata 访问控制的一些调整
2022-10-05 openmetadata 的client 生成代码处理
2022-10-05 TornadoVM 专为机器学习图形计算的jdk 扩展
2022-10-05 graylog MessageProcessor 简单说明
2022-10-05 graylog RawMessage&RawMessageEvent&MessageEvent&Message 说明
2020-10-05 drill 学习 九 drill性能优化-Metastore
2020-10-05 apache iceberg 用于分析庞大数据集的开放格式

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示