一、概述
流程主要用来控制数据流程与数据流向
应用则是提供一些工具类
二、流程步骤
1.ETL元数据注入
类似Java中的反射,在设计时不知道文件名、文件位置等,在真正执行时才知道具体的一些配置等信息
具体介绍后续补充,官方Wikia:https://wiki.pentaho.com/display/EAI/ETL+Metadata+Injection
2.数据过滤
这里说一下Java代码过滤,主要是Java的一些方法,例如indexOf(),matchs()等:
3.处理不确定的数据行数
检测空流用来检测前面过来的流是否是空流;阻塞数据只要最后一行
4.多来源数据合并
使用的是UNION进行合并(列数、列名、列类型需要相同),而不是JOIN:
5.数据流终点
空操作基本上就是用于自然合并与垃圾箱;
中止可以设置中止的条数,例如设置有10条记录到这里就报错
复制记录到结果可以暂存内存,供以后的转换使用
设置变量注意也是设置的变量只能以后的转换使用
6.其它
单线程流程,暂不展开
三、应用
1.Null值处理
2.启动其它程序
// 注意运行SSH务必提前设置免密登陆!
3.日志功能
写日志就相当于Java代码里的log.info(...)了,用于自定义记录日志
4.文件处理功能
5.发送邮件
用空格区分多个收件人(可以使用变量)