数据的处理可以通过数据加工厂实现,首先点击左侧按钮新增任务目录,填写目录名称后确定,如下图所示:

1. 新增抽取任务
选中任务目录名称,基本信息页面右上方点击新增,在下拉框中选择第一个抽取任务,如下图所示:

新增抽取任务后,页面会显示抽取任务的弹框,分为三部分,分别为:基本信息、源和目标、SQL语句
1)基本信息
在基本信息区域配置任务的编号、名称、任务的描述。任务编号为手工编号,通常可以标识任务的用途和执行顺序,根据需求进行填写,如下图所示:

2)源和目标
在该区域根据需求进行设置来源数据连接、源表、目标数据链接、目标表、每批执行行数、失败是否回滚,如下图所示:

来源数据连接:读取数据的来源。
源表:选择源连接中的表名,可多选,主要用来标识从哪些表进行抽取
目标数据连接:数据导入的目标数据库,仅支持数据库类型连接。
目标表:目标数据连接中数据插入的目标表,每个抽取任务的目标表只能选择一个。
每批执行行数:分批提交插入语句,字段较多的表需要适当调小该批次行数。
失败是否回滚:失败回滚 表示数据抽取失败时将回滚已执行的 DELETE 和 INSERT 语句;选择否,失败后不会回滚。
3)SQL语句
在该区域根据需求进行设置目标写入前操作、关键/批次字段、目标表删除语句、源表查询语句,如下图所示:

(1)目标写入前操作:目标表在插入之前通常要删除一些数据,以避免数据重复并替代 UPDATE 语句。
不删除任何数据:不执行删除操作。
清空目标表:使用 DELTE 语句清空目标表,也可以自己改为 TRUNCATE TABLE 语句。
删除已有的数据:通常用于带有主键的维表的写入操作,在关键字段中需要指明主键,目标表在插入之前,先删除目标表在源表查询语句中已存在的记录(使用关键字段关联),然后再插入源表查询语句中的记录结果,此方法可代替 UPDATE+INSERT 操作。
删除本批次数据:对于 ODS 表或事实表而言,通常会在表中创建一个批次号字段,用于记录数据的批次信息,为支持批次数据重跑,且不会产生重复记录,在插入数据之前,需将该批次的数据删除。
自定义删除语句:可自己写删除语句完成特殊的删除操作,此处支持执行多条 SQL 语句,但不支持带有条件判断、循环、变量声明等语句的 SQL 代码块。
(2)关键字/批次字段:删除已有的数据和删除本批次数据时需要指明的目标表中的关键字段。
(3)目标表删除语句:根据需求填写 DELETE 语句,可带变量。
(4)源表查询语句:根据需求填写查询语句,可使用参数。
注1:
下图为系统内置的参数,也可以用于其他转换任务中
参数名 | 说明 |
---|---|
${batchCode} |
批次号,同一计划内所有任务均一致,值是跟随调度计划中设置的执行频率一致,时间戳,无-(横杠)、/(斜线)等日期的分隔符 |
${taskCode} |
任务编码 |
${taskName} |
任务名称 |
${workCode} |
作业编码 |
${workName} |
作业名称 |
proInsertNum |
存储过程返回的插入条数,用作存储过程返回参数中 |
注2:若增量抽取,则可使用批次号参数${batchCode} (YYYY,YYYYMM,YYYYMMDD) 具体格式类型根据调度计划时间决定。
例如 select a.* from ChunkData a where a.time = ${batchCode}
2. 新增执行SQL
选中任务目录名称,基本信息页面右上方点击新增,在下拉框中选择第二个执行SQL,如下图所示:

新增执行SQL后,页面会显示执行SQL的弹框,分为三部分,分别为:基本信息、源和目标、脚本定义
1)基本信息
在基本信息区域配置任务的编号、名称、任务的描述。任务编号为手工编号,通常可以标识任务的用途和执行顺序,根据需求进行填写,如下图所示:

2)源和目标
在该区域根据需求进行设置来源数据连接、源表、目标数据链接、目标表,如下图所示:

来源数据连接:读取数据的来源。
源 表:选择源连接中的表名,可多选,主要用来标识从哪些表进行抽取
目标数据连接:数据导入的目标数据库,仅支持数据库类型连接。
目 标 表:目标数据连接中数据插入的目标表,每个抽取任务的目标表只能选择一个。
3)脚本定义
在该区域设置执行方式及执行脚本,执行方式分为执行一批SQL和执行代码块,下图为执行SQL代码块示例:

执行SQL代码块:不同的数据库有不同的 SQL 代码块的编写方式,可参考其对应的开发文档,如 MySQL,如果想实现复杂的条件判断循环等功能,需要写存储过程或函数来实现
执行一批 SQL:可执行多条 SQL 语句,可以是 DDL 语句也可以是 DML 语句,但不能为 Select 语句,语句之间用分号进行分割。语句在最后一并提交,如果想分段提交,可在语句中手工添加 COMMIT。
3. 新增变量设置
选中任务目录名称,基本信息页面右上方点击新增,在下拉框中选择第三个变量设置,如下图所示:

新增变量设置后,页面会显示变量设置的弹框,分为两部分,分别为:基本信息、变量定义
1)基本信息
在基本信息区域配置任务的编号、名称、任务的描述。任务编号为手工编号,通常可以标识任务的用途和执行顺序,根据需求进行填写,如下图所示:

2)变量定义
在此处可进行设置变量名称、数据链接及赋值语句,如下图所示:

变量名称:其它任务引用时需将变量名用${变量名}的方式括起来使用
数据连接:执行变量赋值语句的数据连接。
赋值语句:根据需求填写一条 SELECT 语句,可使用参数。
测 试:对变量赋值的 SQL 语句进行测试验证,点击刷新可以看到所设置字段信息表示验证通过,如下图所示:

注:此处设置的变量可以在其他转换任务中使用
4. 新增存储过程
选中任务目录名称,基本信息页面右上方点击新增,在下拉框中选择第四个存储过程,如下图所示:

新增存储过程后,页面会显示存储过程的弹框,分为四部分,分别为:基本信息、源和目标、存储过程设置、成功判定条件
1)基本信息
在基本信息区域配置任务的编号、名称、任务的描述。任务编号为手工编号,通常可以标识任务的用途和执行顺序,根据需求进行填写,如下图所示:

2)源和目标
在该区域设置来源数据链接、源表、目标数据链接、目标表,根据需求填写即可,如下图所示:

来源数据连接:读取数据的来源。
源 表:选择源连接中的表名,可多选,主要用来标识从哪些表进行抽取
目标数据连接:数据导入的目标数据库,仅支持数据库类型连接。
目 标 表:目标数据连接中数据插入的目标表,每个抽取任务的目标表只能选择一个。
3)存储过程设置
在该区域可设置存储过程名称、参数等操作,根据需求填写即可,如下图所示:

存储过程:根据需求填写存储过程名称。
参数名称:定义存储过程时形参的实际名称。
参数方向:参数的传入传出方向,包括:IN,OUT,INOUT 三种。
参数类型:参数的数据类型,此处为 JAVA 的 SQL 类型,并非数据库自身的数据类型。
赋 值:代入存储过程进行执行的实体参数名,可以是变量,也可以是数值、字符串等常量,变量需要用${}括起来
①参数方向为 IN 时,变量可以事先赋值,也可以是使用内置的参数,不需要事先赋值,系统在执行该调度计划时,会自动获取;
②方向为 OUT 时,赋值输入框只能写变量名称,存储过程运行成功后会对变量进行赋值,如果该变量已经存在则对其值进行修改,如果该变量不存在则新产生一个变量并对其赋值;
③参数方向为 INOUT 时,存储过程在运行时读取赋值变量的实际值,在运行成功后对该值再进行修改返回。
返回值变量名:某些数据库的存储过程有 RETURN 参数,可以将返回的值赋予一个变量,类似 OUT 参数。
返回值类型:点击右侧下拉框可进行筛选,根据需求设置即可
4)成功判定条件
该区域可进行设置成功判定的条件及返回信息,根据需求填写,如下图所示:

成功判断条件:根据存储过程执行完毕后返回变量的值进行判断该存储过程是否成功,如上图中所设置的返回值变量 SDF为“A”时,表示该存储过程执行成功,其它值表示执行失败。
执行返回信息:存储过程最好有一个返回信息的输出参数,用于表示其成功或失败信息。该信息将显示在监控日志中。
5. 新增外部程序
选中任务目录名称,基本信息页面右上方点击新增,在下拉框中选择第五个外部程序,如下图所示:

新增外部程序后,页面会显示外部程序的弹框,分为两部分,分别为:基本信息、脚本定义
1)基本信息
在基本信息区域配置任务的编号、名称、任务的描述。任务编号为手工编号,通常可以标识任务的用途和执行顺序,根据需求进行填写,如下图所示:

2)脚本定义
该区域设置执行脚本、成功返回值等操作,根据需求填写,如下图所示:

执行脚本:在命令行下可执行的命令或程序,如果是程序文件需要提供服务器上的全路径。如果是多条命令,可用@@符号将语句隔开。
成功返回值:命令执行成功或失败后会返回数字值表示其结束状态,通过该数字值与制定的成功返回值进行比较,如果相同则表示任务执行成功,如果不同则表示执行失败。
返回值变量赋值:可将返回值赋值到一个变量中,此处写变量的名称,不需要加${},如果该变量已存在,则覆盖原值,如果不存在,则新建一个变量。
注:此处${abc} 为上述设置的变量,可以作为参数传给执行的脚本
6. 新增导出文件
选中任务目录名称,基本信息页面右上方点击新增,在下拉框中选择第六个导出文本,如下图所示:

新增导出文本后,页面会显示导出文本的弹框,分为两部分,分别为:基本信息、导出设置
1)基本信息
在基本信息区域配置任务的编号、名称、任务的描述。任务编号为手工编号,通常可以标识任务的用途和执行顺序,根据需求进行填写,如下图所示:

2)导出设置
在该区域可进行导出的设置,根据需求填写,如下图所示:

输入查询语句后,可点击右侧的查询预览,查看是否查询成功,进入以下页面后,需点击刷新按钮,即可查看查询结果,如下图所示:

数据连接:数据导出的源数据库
查询语句:导出数据使用的 Select 查询语句,可嵌入变量。
分隔符:选择列分隔符,也可以手工输入,可以是多个字符。
封闭符:字段值得前后可以用字符进行封闭,通常是双引号。
导出文件类型分为四种:TXT、 CSV、 XLS、XLSX。
格式:文件的输出格式,主要是回车换行符不同,可点击右侧下拉框选择对应操作系统下的文件格式。
导出文件名:带目录的输出文件名,包括扩展名,支持嵌入变量。
编码:字符集编码格式,默认 UTF-8。
添加结束行:添加一行文字到文件末尾,用以表示该文件已经结束。
是否创建父目录:选择是,如果目录不存在,则创建父目录。
是否追加:选择是,表示在原文件的最后一行进行添加,不删除原文件的内容;不选表示将直接覆盖原文件的内容。
是否带头部:选择是,则在文件的第一行输出列的标题,用“分隔符”分隔。
7. 新增发送提醒
发送提醒通常用于作业自动执行完成后将出错信息和通知信息发送到邮箱、系统、公告等消息中。
选中任务目录名称,基本信息页面右上方点击新增,在下拉框中选择第七个发送提醒,如下图所示:

新增发送提醒后,页面会显示发送提醒的弹框,分为五部分,分别为:基本信息、系统消息、公告消息、邮件消息、微信消息
1)基本信息
在该区域设置系统消息,如选择是,下方组织选择会显示所有的组织结构,根据需求选择及填写收信人、信息内容即可,如下图所示;

2)系统消息
在该区域设置系统消息,如选择是,下方组织选择会显示所有的组织结构,根据需求选择及填写收信人、信息内容,点击未选择收信人该列下方的用户即可,如下图所示;

3)公告消息
该区域设置公告消息,如选择是,则在信息内容框中输入所需要的公告内容,不需要设置时,则略过此步骤即可,如下图所示:

4)邮件消息
该区域设置邮件信息,不需要设置时,则略过此步骤即可,如下图所示:

是否开启开关:如选择是,可在下方进行设置相关内容
收件人地址:根据需求填写收件人的邮箱即可
抄送:抄送是将邮件同时发送给收信人以外的人,在此处可填写其他的收件人邮箱
编码:可通过点击右侧下拉框进行选择,一般选择为UTF-8
邮件主题/邮箱内容:根据需求填写即可,在邮件内容中可以嵌入作业执行返回的系统变量,以便于及时获得作业执行的情况,主题与内容可使用内置参数。
5)微信消息
微信消息使用步骤同系统消息相似,点击开启开关,选择收信人,在下方信息内容中填写即可,如下图所示:

说明:设置发送提醒中的标题和信息内容都可使用系统的内置参数
8. 新增执行kettle
9. 新增文件读取
选中任务目录名称,基本信息页面右上方点击新增,在下拉框中选择第九个文件读取,如下图所示:

新增文件读取后,页面会显示文件读取的弹框,分为四部分,分别为:基本信息、目标表、源文件、字段对应
1)基本信息
在基本信息区域配置任务的编号、名称、任务的描述。任务编号为手工编号,通常可以标识任务的用途和执行顺序,根据需求进行填写,如下图所示:

2)目标表
在目标表区域设置数据源及表名,根据需求填写即可,如下图所示:

3)源文件
在该区域设置源文件的相关内容,根据需求填写即可,如下图所示:

文件类型分为三种:txt、csv、excel
文件选择:文件或目录填写源文件的目录,如果多个文件时,填写一个文件目录,使用正则表达式进行匹配;如果只一个文件,就写源文件所在的位置即可,正则表达式(排除),跟正则表达式相反,正则是能匹配上文件名的全部文件,排除就是除了这些匹配上的文件
列分隔符:可以手工输入,也可以使用系统默认的
是否包含列头行:选择是,则包含列的头行
编码格式:可通过点击右侧下拉框进行选择
数据导入模式:选择追加,则添加记录到目标表,不会删除目标表中的记录;选择复制,则会删除目标表的记录,重新导入
是否忽略错误:选择是,则在添加记录的过程中遇到错误直接忽略
4)字段对应
将源文件的字段与目标表的字段进行对应即可,根据需求填写,如下图所示:

全部设置完成后,可点击下方的预览数据,查看是否成功。
10. 新增等待任务
选中任务目录名称,基本信息页面右上方点击新增,在下拉框中选择第十个等待任务,如下图所示:

1)基本信息
在基本信息区域配置任务的编号、名称、任务的描述。任务编号为手工编号,通常可以标识任务的用途和执行顺序,根据需求进行填写,如下图所示:

2)等待设置
等待时间: 当并行的转换任务执行后,等待的时间根据需求填写,如下图所示:

11. 新增条件判断
选中任务目录名称,基本信息页面右上方点击新增,在下拉框中选择第十一个条件判断,如下图所示:

1)基本信息
在基本信息区域配置任务的编号、名称、任务的描述。任务编号为手工编号,通常可以标识任务的用途和执行顺序,根据需求进行填写,如下图所示:

2)条件设置
变量名称:该变量名称为上述变量设置转换任务中设置的变量,不需要${}。

注:该转换任务常用于作业流程中进行条件判断
12. 新增检查文本
选中任务目录名称,基本信息页面右上方点击新增,在下拉框中选择第十二个检查文本,如下图所示:

1)基本信息
在基本信息区域配置任务的编号、名称、任务的描述。任务编号为手工编号,通常可以标识任务的用途和执行顺序,根据需求进行填写,如下图所示:

2)文件设置
文件路径:服务器上文件的绝对路径

注:该转换任务常用于作业流程中进行文件检查
已经是第一篇