dolphinscheduler sql 上下游参数传递

本文介绍了Apache DolphinScheduler中如何实现SQL任务的上下游参数传递,详细讲解了sql输出、下游shell接收以及工作流设计的过程,并强调了全局变量在传递过程中的使用和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

按照https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/guide/parameter/context.html可以实现shell、sql、Procedure间的参数传递,简单总结一下

  • 上游output 参数需要再global 参数中定义
  • 多行sql 输出需要选择list类型
  • 多列输出需要选择多个参数
  • 要注意控制输出内容大小

sql 输出示意

在这里插入图片描述

下游shell 示意

注意由于实际是通过global传递的,无需选择输入参数
在这里插入图片描述

工作流示意

全局变量的值可以随意输入,实际使用会被替换

### 如何在海豚调度 (DolphinScheduler) 中配置 Flink SQL #### 配置环境准备 为了能够在 DolphinScheduler 中运行 Flink SQL 作业,需要先完成基本的环境设置。这包括但不限于安装并配置好 Apache Flink 和 DolphinScheduler。 对于 DolphinScheduler 的具体配置文件 `application.yaml`,需确保其能够正确连接至所使用的 MySQL 实例[^1]: ```yaml datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://bigdata01:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true username: dolphinscheduler password: 123456 ``` #### 初始化数据库结构与数据 按照官方文档指导,在 MySQL 数据库中的 `dolphinscheduler` 数据库里构建必要的表结构以及插入初始的基础数据。此过程涉及执行位于项目源码包内的特定路径下的 SQL 脚本文件来实现元数据 schema 创建及版本升级时所需的变更操作[^2][^3]。 #### 添加 Flink 组件支持 为了让 DolphinScheduler 支持提交 Flink 类型的任务,还需要额外引入相应的依赖项和支持组件。通常情况下,这意味着要下载对应版本的 Flink 发行版,并将其集成到工作流引擎当中去。此外,还需注意调整相关插件或扩展模块以适应具体的业务需求场景。 #### 编写 Flink SQL 任务定义 当上述准备工作完成后,则可以在 DolphinScheduler 上创建新的工作任务节点用于表示即将被执行的一个独立 Flink SQL 查询逻辑单元。此时应该利用平台提供的图形化界面或者 API 方式指定该节点类型为 "Flink" 或者更精确地说是带有 SQL 特性的子类别选项之一;接着输入实际待处理的数据转换语句作为主要负载内容部分。 考虑到可能存在的参数传递需求,可以通过自定义属性字段的方式向下游计算框架注入外部变量值,从而增强灵活性和可维护性特性[^4]。 例如,假设有一个简单的 WordCount 程序被打包成了 JAR 文件形式存储于 HDFS 上某个位置 `/user/flink/jars/wordcount.jar` ,那么就可以这样编写一个包含命令行参数在内的完整调用表达式: ```bash flink run -c org.apache.flink.streaming.examples.wordcount.WordCount /user/flink/jars/wordcount.jar --input hdfs:///inputs/text.txt --output hdfs:///outputs/result.csv ``` 而对于纯文本式的 Flink SQL 来说,可以直接将查询字符串填入任务编辑框内即可生效。 #### 启动服务实例 最后一步便是正式启动整个分布式批处理流水线了——即依次开启 Master Server(s),Worker Node(s) 并监控它们之间的协作状况直至目标程序成功结束为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40455124

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值