本文章经授权转载,原文链接:

https://blog.csdn.net/MiaoSO/article/details/104770720

目录

6. 任务节点类型和参数设置

  • 6.1 Shell节点

  • 6.2 子流程节点

  • 6.3 存储过程节点

  • 6.4 SQL节点

    • 6.4.1 Mysql

    • 6.4.2 Hive

    • 6.4.3 Other

  • 6.5 SPARK节点

  • 6.6 Flink节点

  • 6.7 MapReduce(MR)节点

    • 6.7.1 Java 程序

    • 6.7.2 Python 程序

  • 6.8 Python节点

  • 6.9 依赖(DEPENDENT)节点

  • 6.10 HTTP节点


6. 任务节点类型和参数设置

6.1 Shell 节点

运行说明:shell 节点,在 worker 执行的时候,会生成一个临时 shell 脚本,使用租户同名的 linux 用户执行这个脚本。
参数说明:

  • 节点名称:一个工作流定义中的节点名称是唯一的

  • 运行标志:标识这个节点是否能正常调度,如果不需要执行,可以打开禁止执行开关

  • 描述信息:描述该节点的功能

  • 任务优先级:级别高的任务在执行队列中会优先执行,相同优先级的任务按照先进先出的顺序执行

  • Worker分组:指定任务运行的机器列表

  • 失败重试次数:任务失败重新提交的次数,支持下拉和手填

  • 失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填

  • 超时告警:当任务执行时间超过超时时长可以告警并且超时失败

  • 脚本:用户开发的 SHELL 程序

  • 资源:是指脚本中需要调用的资源文件列表

  • 自定义参数:是 SHELL 局部的用户自定义参数,会替换脚本中以${变量}的内容

例:

  1. 项目管理 -> 工作流 -> 工作流定义 -> 创建工作流
  2. ------------------------------------------------------
  3. 拖拽 "SHELL" 节点到画布,新增一个 Shell 任务。
  4. 节点名称:Test_shell_01
  5. 运行标志:正常
  6. 描述:
  7. 任务优先级:MEDIUM
  8. Worker分组:Default
  9. 失败重试次数:0
  10. 失败重试间隔:1
  11. 超时告警:off
  12. 脚本:
  13. #!/bin/sh
  14. for i in {1..10};do echo $i;done
  15. 资源:
  16. 自定义参数:
  17. -> 确认添加
  18. ------------------------------------------------------
  19. 保存 ->
  20. 设置 DAG 图名称:Test_shell
  21. 选择租户:Default
  22. 超时告警:off
  23. 设置全局:
  24. ------------------------------------------------------
  25. 添加 -> 上线 -> 运行

6.2 子流程节点

运行说明:子流程节点,就是把外部的某个工作流定义当做一个任务节点去执行。
参数说明:

  • 节点名称:一个工作流定义中的节点名称是唯一的

  • 运行标志:标识这个节点是否能正常调度

  • 描述信息:描述该节点的功能

  • 超时告警:勾选超时告警、超时失败,当任务超过"超时时长"后,会发送告警邮件并且任务执行失败

  • 子节点:是选择子流程的工作流定义,右上角进入该子节点可以跳转到所选子流程的工作流定义

例:

  1. 项目管理 -> 工作流 -> 工作流定义 -> 创建工作流
  2. ------------------------------------------------------
  3. Task 1:拖拽 SHELL 节点到画布,新增一个 Shell 任务
  4. 节点名称:Test_subprocess_01
  5. ... ...
  6. 脚本:
  7. #!/bin/sh
  8. for i in {1..10};do echo $i;done
  9. -> 确认添加
  10. Task 2:拖拽 SUB_PROCESS 节点到画布,新增一个 SUB_PROCESS 任务
  11. 节点名称:Test_subprocess_02
  12. ... ...
  13. 子节点:Test_shell
  14. -> 确认添加
  15. ------------------------------------------------------
  16. 串联任务节点 Task1 Task2
  17. ------------------------------------------------------
  18. 保存 ->
  19. 设置 DAG 图名称:Test_subprocess
  20. 选择租户:Default
  21. 超时告警:off
  22. 设置全局:
  23. ------------------------------------------------------
  24. 添加 -> 上线 -> 运行

6.3 存储过程节点

运行说明:根据选择的数据源,执行存储过程。
参数说明:

  • 数据源:存储过程的数据源类型支持 MySQL、POSTGRESQL、CLICKHOUSE、ORACLE、SQLSERVER 等,选择对应的数据源

  • 方法:是存储过程的方法名称

  • 自定义参数:存储过程的自定义参数类型支持 IN、OUT 两种,数据类型支持 VARCHAR、INTEGER、LONG、FLOAT、DOUBLE、DATE、TIME、TIMESTAMP、BOOLEAN 九种数据类型

例:

  1. Test_procedure(略)

6.4 SQL 节点

参数说明:

  • 数据源:选择对应的数据源

  • sql 类型:支持查询和非查询两种,查询是 select  类型的查询,是有结果集返回的,可以指定邮件通知为 表格附件 或 表格与附件 三种模板。非查询是没有结果集返回的,是针对 update、delete、insert 三种类型的操作

  • 主题、收件人、抄送人:邮件相关配置

  • sql 参数:输入参数格式为 key1=value1;key2=value2…

  • sql 语句:SQL 语句

  • UDF 函数:对于 HIVE 类型的数据源,可以引用资源中心中创建的 UDF 函数,其他类型的数据源暂不支持 UDF 函数

  • 自定义参数:SQL 任务类型自定义参数会替换 sql 语句中 ${变量}。而存储过程是通过自定义参数给方法参数设置值,自定义参数类型和数据类型同存储过程任务类型一样。

  • 前置 sql:执行 “sql语句” 前的操作

  • 后置 sql:执行 “sql语句” 后的操作

6.4.1 Mysql

例:

  1. 项目管理 -> 工作流 -> 工作流定义 -> 创建工作流
  2. ------------------------------------------------------
  3. Task 1:拖拽 SQL 节点到画布,新增一个 SQL 任务
  4. 节点名称:Test_sql_mysql_01
  5. ... ...
  6. 数据源:MYSQL test01_mysql
  7. sql类型:查询 表格:√ 附件:√
  8. 主题:Test MySQL
  9. 收件人:tourist@sohh.cn
  10. sql语句:
  11. select * from test_table where score=${i};
  12. 自定义参数:
  13. i -> IN -> INTEGER -> 97
  14. 前置sql:
  15. INSERT INTO test_table values(null, 'Dog',97)
  16. 后置sql
  17. -> 确认添加
  18. Task 2:拖拽 SQL 节点到画布,新增一个 SQL 任务
  19. 节点名称:Test_sql_mysql_02
  20. ... ...
  21. 数据源:MYSQL test01_mysql
  22. sql类型:非查询
  23. sql语句:
  24. create table test_table2 as select * from test_table;
  25. 自定义参数:
  26. 前置 sql:
  27. 后置 sql
  28. -> 确认添加
  29. ------------------------------------------------------
  30. 串联任务节点 Test_sql_mysql_01Test_sql_mysql_02
  31. ------------------------------------------------------
  32. 保存 ->
  33. 设置 DAG 图名称:Test_sql_mysql
  34. 选择租户:Default
  35. 超时告警:off
  36. 设置全局:
  37. ------------------------------------------------------
  38. 添加 -> 上线 -> 运行

6.4.2 Hive

例:

  1. 项目管理 -> 工作流 -> 工作流定义 -> 创建工作流
  2. ------------------------------------------------------
  3. Task 1:拖拽 SQL 节点到画布,新增一个 SQL 任务
  4. 节点名称:Test_sql_hive_01
  5. ... ...
  6. 数据源:Hive test_hiveserver2
  7. sql类型:查询 表格:√ 附件:√
  8. 主题:Test Hive
  9. 收件人:tourist@sohh.cn
  10. sql语句(结尾不要加分号):
  11. select * from test_table where score=${i}
  12. 自定义参数:
  13. i -> IN -> INTEGER -> 97
  14. 前置sql:
  15. INSERT INTO test_table values(null, 'Dog',97)
  16. 后置sql
  17. -> 确认添加
  18. Task 2:拖拽 SQL 节点到画布,新增一个 SQL 任务
  19. 节点名称:Test_sql_hive_02
  20. ... ...
  21. 数据源:Hive test_hiveserver2_ha
  22. sql类型:非查询
  23. sql语句(结尾不要加分号):
  24. create table test_table2 as select * from test_table
  25. 自定义参数:
  26. 前置sql:
  27. 后置sql
  28. -> 确认添加
  29. ------------------------------------------------------
  30. 串联任务节点 Test_sql_hive_01 Test_sql_hive_02
  31. ------------------------------------------------------
  32. 保存 ->
  33. 设置 DAG 图名称:Test_sql_hive
  34. 选择租户:Default
  35. 超时告警:off
  36. 设置全局:
  37. ------------------------------------------------------
  38. 添加 -> 上线 -> 运行

6.4.3 Other

POSTGRESQL、SPARK、CLICKHOUSE、ORACLE、SQLSERVER(略)

6.5 SPARK 节点

执行说明:通过 SPARK 节点,可以直接直接执行 SPARK 程序,对于 spark 节点,worker 会使用 spark-submit 方式提交任务 参数说明:

  • 程序类型:支持 JAVA、Scala 和 Python 三种语言

  • 主函数的 class:是 Spark 程序的入口 Main Class 的全路径

  • 主 jar 包:是 Spark 的 jar 包

  • 部署方式:支持 yarn-cluster、yarn-client、和 local 三种模式

  • Driver:设置 Driver 内核数 及 内存数

  • Executor:设置 Executor 数量、Executor 内存数、Executor 内核数

  • 命令行参数:是设置 Spark 程序的输入参数,支持自定义参数变量的替换。

  • 其他参数:支持 --jars、--files、--archives、--conf 格式

  • 资源:如果其他参数中引用了资源文件,需要在资源中选择指定

  • 自定义参数:是 MR 局部的用户自定义参数,会替换脚本中以${变量}的内容

注意:JAVA 和 Scala 只是用来标识,没有区别,如果是 Python 开发的 Spark 则没有主函数的 class ,其他都是一样

例:略

6.6 Flink 节点

参数说明:

  • 程序类型:支持 JAVA、Scala和 Python 三种语言

  • 主函数的 class:是 Flink 程序的入口 Main Class 的全路径

  • 主 jar 包:是 Flink 的 jar 包

  • 部署方式:支持 cluster、local 三种模式

  • slot 数量:可以设置slot数

  • taskManage 数量:可以设置 taskManage 数

  • jobManager 内存数:可以设置 jobManager 内存数

  • taskManager 内存数:可以设置 taskManager 内存数

  • 命令行参数:是设置Spark程序的输入参数,支持自定义参数变量的替换。

  • 其他参数:支持 --jars、--files、--archives、--conf 格式

  • 资源:如果其他参数中引用了资源文件,需要在资源中选择指定

  • 自定义参数:是 Flink 局部的用户自定义参数,会替换脚本中以${变量}的内容

注意:JAVA 和 Scala 只是用来标识,没有区别,如果是 Python 开发的 Flink 则没有主函数的class,其他都是一样

例:略

6.7 MapReduce(MR) 节点

执行说明:使用 MR 节点,可以直接执行 MR 程序。对于 MR 节点,worker 会使用 hadoop jar 方式提交任务

6.7.1 Java 程序

参数说明:

  • 程序类型:JAVA

  • 主函数的 class:是 MR 程序的入口 Main Class 的全路径

  • 主jar包:是 MR 的 jar 包

  • 命令行参数:是设置 MR 程序的输入参数,支持自定义参数变量的替换

  • 其他参数:支持 –D、-files、-libjars、-archives格式

  • 资源:如果其他参数中引用了资源文件,需要在资源中选择指定

  • 自定义参数:是MR局部的用户自定义参数,会替换脚本中以${变量}的内容

例:

  1. # 将 MR 的示例 jar 包上传到 资源中心;并创建测试文本上传到 HDFS 目录
  2. # CDH 版本 Jar 包位置:/opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar
  3. 项目管理 -> 工作流 -> 工作流定义 -> 创建工作流
  4. ------------------------------------------------------
  5. 拖拽 MR 节点到画布,新增一个 MR 任务
  6. 节点名称:Test_mr_java_01
  7. ... ...
  8. 程序类型:JAVA
  9. 主函数的classwordcount
  10. jar包:hadoop-mapreduce-examples.jar
  11. 命令行参数:/tmp/test.txt /tmp/output
  12. 其他参数:
  13. 资源:
  14. 自定义参数:
  15. -> 确认添加
  16. ------------------------------------------------------
  17. 保存 ->
  18. 设置DAG图名称:Test_mr_java
  19. 选择租户:Default
  20. 超时告警:off
  21. 设置全局:
  22. ------------------------------------------------------
  23. 添加 -> 上线 -> 运行(运行MR的权限问题此处不再描述)
  24. ------------------------------------------------------
  25. 查看结果:
  26. sudo -u hdfs hadoop fs -cat /tmp/output/*

6.7.2 Python 程序

参数说明:

  • 程序类型:Python

  • 主jar包:运行 MR 的 Python jar包

  • 其他参数:支持 –D、-mapper、-reducer、-input -output格式,这里可以设置用户自定义参数的输入,比如:-mapper "mapper.py 1" -file mapper.py -reducer reducer.py -file reducer.py –input /journey/words.txt -output /journey/out/mr/${currentTimeMillis} 其中 -mapper 后的 mapper.py 1是两个参数,第一个参数是mapper.py,第二个参数是1

  • 资源:如果其他参数中引用了资源文件,需要在资源中选择指定

  • 自定义参数:是 MR 局部的用户自定义参数,会替换脚本中以${变量}的内容

6.8 Python节点

运行说明:使用 python 节点,可以直接执行 python 脚本,对于 python 节点,worker会使用 python ** 方式提交任务。参数说明:脚本:用户开发的 Python 程序 资源:是指脚本中需要调用的资源文件列表 自定义参数:是 Python 局部的用户自定义参数,会替换脚本中以 ${变量} 的内容

例:

  1. 项目管理 -> 工作流 -> 工作流定义 -> 创建工作流
  2. ------------------------------------------------------
  3. 拖拽 Python 节点到画布,新增一个 Python 任务
  4. 节点名称:Test_python_01
  5. ... ...
  6. 脚本:
  7. #!/user/bin/python
  8. # -*- coding: UTF-8 -*-
  9. for num in range(0, 10): print 'Round %d ...' % num
  10. 资源:
  11. 自定义参数:
  12. -> 确认添加
  13. ------------------------------------------------------
  14. 保存 ->
  15. 设置 DAG 图名称:Test_python
  16. 选择租户:Default
  17. 超时告警:off
  18. 设置全局:
  19. ------------------------------------------------------
  20. 添加 -> 上线 -> 运行

6.9 依赖(DEPENDENT)节点

运行说明:依赖节点,就是依赖检查节点。比如 A 流程依赖昨天的 B 流程执行成功,依赖节点会去检查 B 流程在昨天是否有执行成功的实例。

例如,A 流程为周报任务,B、C 流程为天任务,A 任务需要 B、C 任务在上周的每一天都执行成功,如图示:

假如,周报 A 同时还需要自身在上周二执行成功:

6.10 HTTP节点

参数说明:

  • 节点名称:一个工作流定义中的节点名称是唯一的。

  • 运行标志:标识这个节点是否能正常调度,如果不需要执行,可以打开禁止执行开关。

  • 描述信息:描述该节点的功能。

  • 任务优先级:worker 线程数不足时,根据优先级从高到低依次执行,优先级一样时根据先进先出原则执行。

  • Worker分组:任务分配给worker组的机器机执行,选择Default,会随机选择一台worker机执行。

  • 失败重试次数:任务失败重新提交的次数,支持下拉和手填。

  • 失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填。

  • 超时告警:勾选超时告警、超时失败,当任务超过"超时时长"后,会发送告警邮件并且任务执行失败.

  • 请求地址:http 请求 URL。

  • 请求类型:支持 GET、POSt、HEAD、PUT、DELETE。

  • 请求参数:支持 Parameter、Body、Headers。

  • 校验条件:支持默认响应码、自定义响应码、内容包含、内容不包含。

  • 校验内容:当校验条件选择自定义响应码、内容包含、内容不包含时,需填写校验内容。

  • 自定义参数:是 http 局部的用户自定义参数,会替换脚本中以${变量}的内容。

例:略


  1. 文章目录:
  2. DS 1.2.0 使用文档(1/8):架构及名词解释
  3. DS 1.2.0 使用文档(2-3/8):集群规划及环境准备
  4. DS 1.2.0 使用文档(4/8):软件部署
  5. DS 1.2.0 使用文档(5/8):使用与测试
  6. DS 1.2.0 使用文档(6/8):任务节点类型与任务参数设置
  7. DS 1.2.0 使用文档(7/8):系统参数及自定义参数
  8. DS 1.2.0 使用文档(8/8):附录

Apache DolphinScheduler 使用文档(6/8):任务节点类型与任务参数设置的更多相关文章

  1. Apache DolphinScheduler 使用文档(2-3/8):集群规划及环境准备

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 2. 集群规划 2.1 集群配置 2.2 软件版本 2 ...

  2. Apache DolphinScheduler 使用文档(5/8):使用与测试

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 5. 使用与测试 5.1 安全中心(Security) ...

  3. Apache DolphinScheduler 使用文档(4/8):软件部署

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 4. 软件部署 4.1 为 dolphinschedu ...

  4. Apache DolphinScheduler 使用文档(8/8):附录

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 附录.队列管理 附录.令牌管理 附录.队列管理 Q : ...

  5. Apache DolphinScheduler 使用文档(7/8):系统参数及自定义参数

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 7. 参数 7.1 系统参数 7.2 时间自定义参数 ...

  6. 判断pdf、word文档、图片等文件类型(格式)、大小的简便方法

    判断pdf.word文档.图片等文件类型(格式).大小的简便方法 很久没发文了,今天有时间就写一下吧. 关于上传文件,通常我们都需要对其进行判断,限制上传的类型,如果是上传图片,我们甚至会把图片转化成 ...

  7. XMLHelper类 源码(XML文档帮助类,静态方法,实现对XML文档的创建,及节点和属性的增、删、改、查)

    以下是代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...

  8. javaScript获取文档中所有元素节点的个数

    HTML+JS 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  9. Apache Flume 安装文档、日志收集

    简介: 官网 http://flume.apache.org 文档 https://flume.apache.org/FlumeUserGuide.html hadoop 生态系统中,flume 的职 ...

随机推荐

  1. 项目下载依赖后面加 -S -D -g 分别代表什么意思

    npm install name -S此依赖是在package的dependencies中,不仅在开发中,也在打包上线后的生产环境中,比如vue npm install name -D此依赖是在pac ...

  2. 二叉树遍历在Unity中的实现

    前言:今天放一天,想到要放国庆假了就心烦气躁,躺床上又焦虑,回想起面试官的一副扑克脸,马上跳起来看了看数据结构. 今天复习了二叉树,包括一些基本概念和特性,当看到二叉树遍历的章节时,马上联想到了Uni ...

  3. Kubernetes Job Controller 原理和源码分析(三)

    概述Job controller 的启动processNextWorkItem()核心调谐逻辑入口 - syncJob()Pod 数量管理 - manageJob()小结 概述 源码版本:kubern ...

  4. Java并发3

    轻量级锁:如果一个有多个线程访问,但多线程访问的时间是错开的,没有竞争,那么可以使用轻量级锁来优化: monitor:重量级锁: 正常我们使用synchronized时,没有竞争则是轻量级锁,当遇到竞 ...

  5. 使用PowerShell校验文件MD5

    更新记录 2022年4月16日:本文迁移自Panda666原博客,原发布时间:2021年7月14日. 方法1:使用Get-FileHash命令 (Get-FileHash ".\SQLSer ...

  6. JS:函数的形参与实参

    形参: 函数显式参数在函数定义时列出. 函数调用未传参时,参数会默认设置为: undefined. function fn(a,b,c){ //a,b,c为形参 //此时有一个隐式操作:var a,v ...

  7. 《HelloGitHub》第 75 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...

  8. python小题目练习(五)

    题目:Python实现快速排序 代码实现: """Author:mllContent:Python实现快速排序Date:2020-11-05""&qu ...

  9. easyexcel注解

    1.@ExcelProperty 必要的一个注解,注解中有三个参数value,index分别代表列明,列序号 1.value 通过标题文本对应2.index 通过文本行号对应 2.@ColumnWit ...

  10. NC20241 [SCOI2005]扫雷MINE

    NC20241 [SCOI2005]扫雷MINE 题目 题目描述 相信大家都玩过扫雷的游戏.那是在一个 \(n \times m\) 的矩阵里面有一些雷,要你根据一些信息找出雷来. 万圣节到了 ,&q ...