argodb自定义函数读取hdfs文件的注意点,避免FileSystem已关闭异常

一、问题描述

一位同学反馈,他写的argo存过中调用了一个自定义函数,函数会加载hdfs上的一个文件,但有些节点会报FileSystem closed异常,同时有时任务会成功,有时会失败。

二、问题分析

argodb的计算引擎是基于spark的定制化引擎,对于自定义函数的调用跟hive on spark的是一致的。udf要通过反射生成实例,然后迭代调用evaluate。通过代码分析,udf在读取完hdfs文件后会关闭FS,这在逻辑上是正确的,那为什么还会出现HDFS文件系统已关闭的异常?难道是Spark的各个不同节点的executor共享了FS(客户端)?顺着这一点,可以查看集群上这个配置项的值,即"fs.hdfs.impl.disable.cache",这个值默认是false(出现性能考虑),但这意味着hdfs文件系统的实现类(DistributedFileSystem)实例是共享、缓存的,在spark不同的executor中一旦有一个任务关闭了fs,那么其它的executor也会受到影响,这也是报fs closed异常的原因,所以将fs.hdfs.impl.disable.cache设置成true,不允许缓存fs。即可解决该问题。

三、问题解决

fs.hdfs.impl.disable.cache=true

相关推荐
一只专注api接口开发的技术猿3 分钟前
OpenClaw 对接淘宝商品 API,低成本实现全天候选品监控|附可运行 Python 实操代码
大数据·开发语言·数据库·python
醉颜凉16 分钟前
深度解析 Elasticsearch 搜索过程:Query Then Fetch 两阶段详解
大数据·elasticsearch·搜索引擎
zandy101140 分钟前
体系化AI创新赋能产业升级 联想集团树立智能时代企业创新标杆
大数据·人工智能
春日见1 小时前
五分钟入门强化学习DDPG
大数据·人工智能·算法·机器学习·计算机视觉
潜创微科技1 小时前
2026年办公KVM切换器方案服务商选型参考:技术能力与服务体验双维度评估
大数据
万岳科技系统开发1 小时前
互联网医院小程序搭建怎么做?从0开始建设完整平台
大数据·小程序
RFID舜识物联网1 小时前
耐高温RFID:让喷涂线从“数据断点”走向“全链贯通”
大数据·人工智能·嵌入式硬件·物联网·汽车
启途AI2 小时前
当营销话术超越产品实体:GEO市场的诚信挑战
大数据·人工智能·搜索引擎·ai·chatgpt
snow@li2 小时前
AI:从 WBS 思考 → Agent 任务分解
大数据·人工智能
调试优选官2 小时前
2026上海生成式引擎优化GEO服务商测评:哪家好?
大数据·人工智能·geo·上海·行业观察