Shell
Shell 任务类型,用于创建 Shell 类型的任务并执行一系列的 Shell 脚本。worker 执行该任务的时候,会生成一个临时 shell 脚本,并使用与租户同名的 linux 用户执行这个脚本。
使用自定义参数
为了更方便的复用已有的任务,或者面对动态的需求时,我们会使用变量保证脚本的复用性。
1.任务样例
2.注意事项
Shell 任务类型通过解析任务日志是否包含 application_xxx_xxx 的内容来判断是否 Yarn 任务,如果是则会将相应的 application_id 的状态作为当前 Shell 节点的运行状态判断,此时如果操作停止工作流则会 Kill 相应的 application_id。
如果 Shell 任务中需要使用到用户自定义的脚本,可通过资源中心来上传对应的文件然后在 Shell 任务中引用他们,可参考:文件管理。
Stored Procedure
1.任务参数
任务参数 | 描述 |
数据源 | 存储过程的数据源类型支持MySQL、POSTGRESQL、ORACLE,选择对应的数据源 |
SQL Statement | 调用存储过程,如 call test(${in1},${out1}); |
自定义参数 | 存储过程的自定义参数类型支持IN、OUT两种,数据类型支持VARCHAR、INTEGER、LONG、FLOAT、DOUBLE、DATE、TIME、TIMESTAMP、BOOLEAN九种数据类型 |
2.任务样例
3.注意事项
1. 根据选择的数据源,执行存储过程。根据选择的数据源,执行存储过程。
2. 前提:在该数据库里面创建存储过程,如:
CREATE PROCEDURE dolphinscheduler.test(in in1 INT, out out1 INT)
begin
set out1=in1;
END
SQL
SQL任务类型,用于连接数据库并执行相应SQL。
1.任务参数
任务参数 | 描述 |
数据源 | 选择对应的数据源 |
sql类型 | 支持查询和非查询两种。
|
分段执行符号 | 默认采用;\n作为SQL分隔符,拆分成多段SQL语句执行。Hive的JDBC不支持一次执行多段SQL语句,请不要使用;\n。 |
sql参数 | MySQL只有开启 '发送邮件' ,才会显示; 输入参数格式为key1=value1;key2=value2… |
sql语句 | SQL语句 |
UDF函数 | 对于HIVE类型的数据源,可以引用资源中心中创建的UDF函数,其他类型的数据源暂不支持UDF函数。 |
自定义参数 | SQL任务类型,而存储过程是自定义参数顺序,给方法设置值自定义参数类型和数据类型,同存储过程任务类型一样。区别在于SQL任务类型自定义参数会替换sql语句中${变量}。 |
前置sql | 前置sql在sql语句之前执行。 |
后置sql: | 后置sql在sql语句之后执行。 |
2.任务样例
在hive中创建临时表并写入数据;
该样例向hive中创建表ds。选择SQL类型为非查询,在创建表之前需要确保该表不存在。
注意:sql任务组件的hive应用是基于JDBC去调用,SQL statement 不支持多行执行,请注意不要在语句末尾使用';'。如果要执行多行语句请使用Hive-Cli任务。
3.注意事项
注意SQL类型的选择,如果是INSERT等操作需要选择非查询类型;
为了兼容长会话情况,UDF函数的创建是通过CREATE OR REPLACE语句;