Kettle流程步骤与应用步骤

来自小能手俱乐部
Yinyilong讨论 | 贡献2021年10月21日 (四) 02:41的版本 (创建页面,内容为“一、概述   流程主要用来控制数据流程与数据流向   应用则是提供一些工具类 二、流程步骤   1.ETL元数据注入  …”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

一、概述

  流程主要用来控制数据流程与数据流向

  应用则是提供一些工具类

二、流程步骤

  1.ETL元数据注入

  类似Java中的反射,在设计时不知道文件名、文件位置等,在真正执行时才知道具体的一些配置等信息。

  2.数据过滤

插图

  这里说一下Java代码过滤,主要是Java的一些方法,例如indexOf(),matchs()等:

插图

  3.处理不确定的数据行数

插图

检测空流用来检测前面过来的流是否是空流;阻塞数据只要最后一行

  4.多来源数据合并

  使用的是UNION进行合并(列数、列名、列类型需要相同),而不是JOIN:

插图

  5.数据流终点

插图

  空操作基本上就是用于自然合并与垃圾箱;

  中止可以设置中止的条数,例如设置有10条记录到这里就报错

  复制记录到结果可以暂存内存,供以后的转换使用

  设置变量注意也是设置的变量只能以后的转换使用

  6.其它

插图

  单线程流程,暂不展开

三、应用

  1.Null值处理

插图

  2.启动其它程序

插图

  // 注意运行SSH务必提前设置免密登陆!

  3.日志功能

插图

  写日志就相当于Java代码里的log.info(...)了,用于自定义记录日志

  4.文件处理功能

插图

  5.发送邮件

  用空格区分多个收件人(可以使用变量)