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

相关推荐
AI副业教程20 分钟前
加航 Aeroplan 定向活动:加拿大—欧洲高级舱额外 SQC 资讯整理(2026 秋季)
大数据
隔振降噪研究员1 小时前
振动筛振动治理科普
大数据·人工智能
阿部多瑞 ABU2 小时前
泛二次元问题舆论战与问题诸论
大数据·人工智能·ai写作
码云数智-园园2 小时前
码云数智、小鹅通、创客匠人知识付费小程序平台对比
大数据
成长之路5143 小时前
【数据集】全国500m分辨率实际蒸散发ET数据集(tif格式)2000-2025年
大数据
通信瓦工3 小时前
高功率密度AI数据中心的Mega AALC(高级辅助液体冷却)解决方案
大数据·人工智能
代码方舟3 小时前
零信任架构实战:基于天远名下车辆车牌查询A构建自动化机动车辆资产清查网关
大数据·人工智能·架构·自动化
LaughingZhu4 小时前
Product Hunt 每日热榜 | 2026-10-05
大数据·人工智能
悟天特斯4 小时前
数字孪生的“虚实融合“:让园区模型从“看得见“到“用得好“
大数据·人工智能·物联网
starzy19904 小时前
Flink ApplicationMaster启动流程源码深度剖析:从YARN提交到JobMaster启动的完整链路
大数据·flink