首页/新闻资讯/正文详情

Apache DolphinScheduler 文件管理实战:资源中心文件的上传、编辑与工作流引用

发布时间:2026/9/23 13:15:09 来源:云帆数科 栏目:资讯中心
Apache DolphinScheduler 文件管理实战:资源中心文件的上传、编辑与工作流引用
任务调度大数据后端前端【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址https://gitcode.com/gh_mirrors/do/dolphinscheduler点击查看免费下载文件管理是 Apache DolphinScheduler「资源中心」的核心能力之一。当工作流执行过程中需要引用第三方 jar 包或需要以自定义脚本Shell、Python、SQL 等完成特定逻辑时都需要先在文件管理页面完成脚本与依赖的托管。本文以当前仓库 docs/docs/zh/guide/resource/file-manage.md 为主线完整讲解文件管理支持的文件类型、创建/上传/查看/下载/重命名/删除等基础操作并通过一个 Shell 脚本示例演示如何在 Shell 任务中引用资源中心文件同时结合 ResourcesController.java 等源码说明其背后的存储与调用机制。文件管理能解决什么问题在 DolphinScheduler 中任务节点尤其是 Shell、Python、MR、Spark 等的脚本内容虽然可以直接写在任务参数里但以下场景更适合把文件托管到资源中心复用第三方 jar 包MR、Spark、Flink 等任务需要把依赖 jar 分发到执行节点通过资源中心统一管理、按需选择自定义脚本沉淀把常用的 Shell/Python/SQL 脚本作为资源保存多个工作流可复用同一份脚本配置文件集中管理如conf、xml、properties、hql等配置与查询文件便于统一维护、版本迭代规避超长脚本的维护成本脚本内容不再散落在各个任务节点中而是集中存放、统一编辑。从实现角度看资源文件由 API 层统一暴露管理接口。ResourcesController挂载在resources路径下见 ResourcesController.java提供查询列表、创建目录、上传文件、在线创建、在线编辑、重命名、删除、查看内容、下载、查询根目录等 REST 接口并统一委托给ResourcesService执行。其中资源类型使用ResourceType枚举区分——FILE普通文件与UDFUDF 函数文件管理页面即FILE类型的资源。注意当您以admin身份登录并操作文件时需要先为admin设置租户否则文件管理相关操作无法正常进行。租户与文件存储目录、运行用户隔离相关是 DolphinScheduler 资源体系的先决条件。文件管理的基础操作进入「资源中心 → 文件管理」页面后可以看到文件列表支持分页与关键字搜索以及“创建文件”“上传文件”“创建目录”等入口按钮。对每个文件列表行内还提供编辑、重命名、下载、删除等操作入口。图片说明文件管理页面包含文件列表、创建文件、上传文件、创建目录等操作入口。支持的文件类型文件管理支持以下文件格式txt、log、sh、conf、cfg、py、java、sql、xml、hql、properties。文本类txt、log、properties、conf、cfg、xml脚本类sh、py、sql、hql、java其中可在线编辑的文件创建后可通过“编辑”按钮直接在页面内修改内容不可编辑的类型则只能通过重新上传覆盖更新。创建文件点击“创建文件”按钮在弹出的表单中填写文件名称含后缀、选择文件格式、填写描述并输入文件内容确认后即完成在线创建。此操作对应后端接口POST /resources/online-create接口同时接收type、fileName、suffix、content、currentDir参数后端将fileName与suffix拼接为完整文件名后调用createFileFromContent写入存储见 ResourcesController.java。图片说明创建文件弹窗可填写文件名称、格式、描述与内容。上传文件点击“上传文件”按钮将文件拖拽到上传区域文件名会自动以上传文件的原始名称补全也可手动修改确认后完成上传。此操作对应后端接口POST /resources使用MultipartFile接收文件内容同时接收type、name、currentDir参数见 ResourcesController.java。前端实现位于 upload/index.tsx上传组件通过customRequest钩子自动将所选文件的name与file写入表单对应代码中state.uploadForm.name file.name; state.uploadForm.file file.file这与文档中“文件名自动以上传文件名称补全”的行为一致。图片说明上传文件弹窗文件名称自动补全支持拖拽上传。文件查看对于可查看的文件类型点击文件名称即可查看文件详情页面内展示文件内容。查看操作对应后端接口GET /resources/view通过fullName定位文件并支持skipLineNum与limit参数控制从第几行开始读取、读取多少行实现分页查看见 ResourcesController.java。图片说明文件详情页可查看文件内容并支持下载操作。下载文件下载文件有两种方式在文件列表中点击目标文件行内的“下载”按钮在文件详情页中点击右上角的“下载”按钮。下载操作对应后端接口GET /resources/download通过fullName定位文件并将内容写入HttpServletResponse返回给浏览器见 ResourcesController.java。文件重命名点击文件行内的重命名图标在弹出的表单中修改文件名称与描述确认后生效。重命名操作对应后端接口PUT /resources后端会先判断新名称是否携带扩展名——如果新名称没有扩展名则按“目录重命名”处理renameDirectory如果有扩展名且未附带新文件则按“文件重命名”处理renameFile如果同时上传了新文件则执行文件内容更新updateFile见 ResourcesController.java。图片说明文件重命名弹窗可修改文件名称与描述。删除文件在文件列表中找到目标文件点击“删除”按钮并确认即可删除指定文件。删除操作对应后端接口DELETE /resources通过fullName指定待删除文件的完整路径见 ResourcesController.java。删除为不可逆操作请谨慎执行。存储与权限文件到底放在哪里资源文件并非只存在于数据库中其内容实际存放在由resource.storage.type指定的存储后端上元数据如文件名、大小、所属用户、更新时间等则登记在数据库中供列表展示与检索使用。相关配置常量定义在 Constants.java 中配置项常量名作用resource.storage.typeRESOURCE_STORAGE_TYPE存储后端类型如本地文件系统HDFS、S3、OSS、GCS、ABS 等resource.storage.upload.base.pathRESOURCE_UPLOAD_PATH资源上传的根路径data.basedir.pathDATA_BASEDIR_PATH本地数据基础目录以本地存储为例资源的完整路径形如file:///tmp/dolphinscheduler/storage/default/resources/demo.sql该示例出现在 ResourcesController.java 的接口文档中其中resources即RESOURCE_TYPE_FILE常量对应的目录名。存储插件的具体实现位于 dolphinscheduler-storage-plugin 模块支持本地 HDFS、S3、OSS、OBS、GCS、ABS 等多种后端可通过配置切换。任务样例在 Shell 工作流中引用资源文件下面通过一个简单的 Shell 脚本示例演示如何在工作流定义中使用资源中心的文件。MR、Spark 等任务需要引用 jar 包时操作逻辑同理——在任务配置的“资源”中选择对应文件即可。第一步创建 Shell 文件进入「资源中心 → 文件管理」点击“创建文件”选择格式sh文件名填写hello.sh内容填写#!/bin/bash echo hello world确认创建后资源列表中将出现hello.sh其资源路径为resource/hello.sh。图片说明创建内容为 echo hello world 的 hello.sh 文件。第二步创建工作流并配置 Shell 任务在「项目管理 → 工作流定义」中创建一个新的工作流添加一个 Shell 任务节点进行如下配置脚本sh resource/hello.sh资源选择resource/hello.sh注意脚本中引用资源文件时文件名称必须与所选择资源的全路径保持一致。例如资源路径为resource/hello.sh则脚本中调用必须使用resource/hello.sh全路径不能只写hello.sh。从源码角度可以理解这一约束Shell 任务的参数模型 ShellParameters.java 中同时持有rawScript脚本内容与resourceList引用的资源列表任务执行时会先解析taskExecutionContext.getTaskParams()得到 Shell 参数见 ShellTask.java随后由执行框架根据资源列表将对应文件下发/同步到任务执行节点脚本中的全路径才能正确命中已就绪的资源文件。图片说明Shell 任务节点中配置脚本 sh resource/hello.sh并选择资源 resource/hello.sh。第三步运行并查看结果保存并上线工作流点击“运行”执行。执行完成后在工作流实例中找到该 Shell 节点打开其日志可以看到脚本输出的hello world结果。图片说明Shell 节点运行日志展示脚本执行输出。小结文件管理是 DolphinScheduler 资源中心的基础能力它把第三方 jar、自定义脚本、配置文件等统一托管并在任务定义中以“资源”的形式被引用配合存储插件与租户体系实现文件的安全分发。掌握本文所述的创建、上传、查看、下载、重命名、删除操作以及“脚本路径必须与资源全路径一致”这一关键约束即可顺畅地在工作流中复用资源文件。对于 MR、Spark、Flink 等依赖 jar 包的任务复用同样的资源选择方式即可完成依赖分发。赞分享任务调度大数据后端前端【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址https://gitcode.com/gh_mirrors/do/dolphinscheduler点击查看免费下载相关推荐Apache DolphinScheduler 文件管理实战资源中心文件的上传、编辑与工作流引用Apache DolphinScheduler 文件管理实战资源中心文件的上传、编辑与工作流引用 文件管理File Management是 Apache任务调度大数据后端前端Apache DolphinScheduler 文件管理资源中心实战指南创建、上传与在 Shell 工作流中引用资源文件Apache DolphinScheduler 文件管理资源中心实战指南创建、上传与在 Shell 工作流中引用资源文件 导读 文件管理是 Apache任务调度数据编排工作流自动化后端大数据Apache DolphinScheduler 文件管理资源中心文件的全生命周期操作与调度实战指南Apache DolphinScheduler 文件管理资源中心文件的全生命周期操作与调度实战指南 文件管理File Manage是 Apache Dol任务调度数据编排工作流自动化后端大数据创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

PaddleHub 新海诚动漫风格迁移实战:animegan_v2_shinkai_53 模块使用与源码解析
PaddleHub 新海诚动漫风格迁移实战:animegan_v2_shinkai_53 模块使用与源码解析

PaddleHub 新海诚动漫风格迁移实战:animegan_v2_shinkai_53 模块使用与源码解析 【免费下载链接】PaddleFormers PaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle. 项目地址: https://gitcode.com/gh_mi… · 2026/9/23 13:15:08

天涯杂志源码深度剖析:3步搞定完整示例
天涯杂志源码深度剖析:3步搞定完整示例

天涯杂志源码深度剖析:3步搞定完整示例 别盯着语法书发呆,很多程序员卡在“学会语法却不知怎么搭项目”这一步。 看着文档里的 完整示例 ,心里没底,不知道从哪下手。 今天拆解 天涯杂志 这个经典实战项目,带你从零跑通全流程。… · 2026/9/23 13:15:02

51单片机最小系统完全指南:电路原理与实战搭建
51单片机最小系统完全指南:电路原理与实战搭建

1. 为什么每个学单片机的人都绕不开最小系统先不绕弯子,直接给结论:51单片机最小系统,就是让一颗51芯片“活过来”所需要的最少外围电路。很多新手在51hei(51黑电子论坛)上第一次接触这个概念时,会觉得“最… · 2026/9/23 13:14:56

3个坑让湛泸项目跑不通,这份避坑指南救了我
3个坑让湛泸项目跑不通,这份避坑指南救了我

3个坑让湛泸项目跑不通,这份避坑指南救了我 复制来的代码跑不通,报错信息像天书一样,你是不是也卡在这个死胡同里?别急,今天不聊虚的,直接上干货。我是做了十年运维和后端开发的“老鸟”,见过太多人因为环境配置不对、依赖版本冲突,把好好的项目搞崩… · 2026/9/23 13:58:20

3个技巧搞定即将上市报错,保姆级教程助你面试通关
3个技巧搞定即将上市报错,保姆级教程助你面试通关

3个技巧搞定即将上市报错,保姆级教程助你面试通关 面试被问原理答不上来,这种尴尬你肯定遇到过。面试官轻描淡写一句“说说这个即将上市模块的底层逻辑”,你脑子瞬间空白,手心冒汗,只能支支吾吾。别慌,今天这篇保姆级教程,不玩虚的,直接带你从零搭建… · 2026/9/23 13:58:20

Convex 自托管(Self-hosted)完整指南:Docker 部署、SQL 数据库与 S3 存储实战
Convex 自托管(Self-hosted)完整指南:Docker 部署、SQL 数据库与 S3 存储实战

数据库后端 【免费下载链接】convex-backend The open-source reactive database for app developers 项目地址: https://gitcode.com/gh_mirrors/co/convex-backend 点击查看 免费下载 本文是 Convex 开源响应式数据库后端(convex-backend)… · 2026/9/23 13:58:20

Apache DolphinScheduler 资源中心存储配置完全指南:本地文件系统、AWS S3、阿里云 OSS 与华为云 OBS 对接详解
Apache DolphinScheduler 资源中心存储配置完全指南:本地文件系统、AWS S3、阿里云 OSS 与华为云 OBS 对接详解

任务调度大数据后端前端 【免费下载链接】dolphinscheduler Apache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code 项目地址: https://gitcode.com/gh_mirrors/do/dolphinscheduler 点击查… · 2026/9/23 13:58:20

Claude Code 子代理 validation-gates 实战:用自动化测试质量门禁守护每一次代码变更
Claude Code 子代理 validation-gates 实战:用自动化测试质量门禁守护每一次代码变更

文档教程提示工程人工智能 【免费下载链接】context-engineering-intro Context engineering is the new vibe coding - its the way to actually make AI coding assistants work. Claude Code is the best for this so thats what this repo is centered around, but you can… · 2026/9/23 13:58:20

男柔道刷图源码解析:3步搞定性能瓶颈,告别教程陷阱
男柔道刷图源码解析:3步搞定性能瓶颈,告别教程陷阱

男柔道刷图源码解析:3步搞定性能瓶颈,告别教程陷阱 看了一堆教程还是不会写项目?别怪自己笨,是没人告诉你,真正的 源码解析… · 2026/9/23 13:58:13

3招搞定手机怎么下载微信面试难题实战项目解析
3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧
Win7无线热点配置工具源码解析:解决API失效的3个实战技巧

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧 Win7无线热点配置工具在Win10/11上跑不动?不是你的问题,是版本升级后 API 全变了。很多老项目里的 netsh wlan… · 2026/9/23 0:00:36

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码