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

相关推荐
AEMC马广川11 分钟前
能源托管项目中“企业认证+人才证书”双轨评分策略分析
大数据·运维·人工智能·能源
一个很帅的帅哥16 分钟前
git命令大全
大数据·git·elasticsearch
geneculture1 小时前
融智学体系图谱(精确对应版)
大数据·人工智能·学习·融智学的重要应用·信智序位
有味道的男人1 小时前
国内电商 API 深度赋能:从选品、库存到履约,重构电商运营效率新范式
大数据·重构
程砚成1 小时前
美容行业的未来:当科技照进美与健康
大数据·人工智能
TG:@yunlaoda360 云老大1 小时前
腾讯云国际站代理商TEFP有什么优势呢?
大数据·云计算·腾讯云
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2025-12-17
大数据·人工智能·经验分享·搜索引擎·产品运营
小北方城市网2 小时前
鸿蒙6.0:AI与智能体框架(HMAF),重塑操作系统未来的核心密码
大数据·网络·人工智能·microsoft·ai·智能手机
又是努力搬砖的一年2 小时前
elasticsearch修改字段类型
android·大数据·elasticsearch
六行神算API-天璇2 小时前
数字人“个性化”背后的玄机:大模型微调与RAG实战解析
大数据·人工智能