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

相关推荐
redaijufeng5 小时前
万象生鲜系统功能介绍
大数据
2601_957780847 小时前
GPT-5.5 深度解析:2026年4月OpenAI旗舰模型的技术跨越与商业决策指南
大数据·人工智能·python·gpt·openai
一只积极向上的小咸鱼7 小时前
嵌套 Git 仓库 / gitlink / submodule 问题总结
大数据·git·elasticsearch
eastyuxiao9 小时前
第二章 数字孪生核心技术体系
大数据·人工智能·数字孪生
andy_haiying9 小时前
深圳网站建设公司推荐哪家好?2026年5月官网制作服务商综合评测
大数据·人工智能
zxrhhm10 小时前
PostgreSQL 大规模随机数据生成完整指南
大数据·数据库·postgresql
飞飞传输10 小时前
数字化科研提速关键 构建安全可控一体化跨网数据传输体系
大数据·运维·安全
Elastic 中国社区官方博客10 小时前
Elastic 的 AI agent skills
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
陕西字符11 小时前
2026 西安小微企业地图与 AI 问答排名优化:专业技术指南与落地方案
大数据·人工智能
MetrixAeroCore11 小时前
车规级国际物联卡是什么?车载物联网硬件选型与行业标准解析
大数据·物联网