“Kettle流程步骤与应用步骤”的版本间的差异

来自小能手俱乐部
跳到导航 跳到搜索
(创建页面,内容为“一、概述   流程主要用来控制数据流程与数据流向   应用则是提供一些工具类 二、流程步骤   1.ETL元数据注入  …”)
 
第1行: 第1行:
一、概述
=== 概述 ===
 
  流程主要用来控制数据流程与数据流向
  流程主要用来控制数据流程与数据流向


  应用则是提供一些工具类
  应用则是提供一些工具类


二、流程步骤
=== 流程步骤 ===
 
  1.ETL元数据注入


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


  2.数据过滤
====   数据过滤 ====
 
插图
插图


第19行: 第16行:
插图
插图


  3.处理不确定的数据行数
====   处理不确定的数据行数 ====
 
插图
插图


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


  4.多来源数据合并
====   多来源数据合并 ====
 
  使用的是UNION进行合并(列数、列名、列类型需要相同),而不是JOIN:
  使用的是UNION进行合并(列数、列名、列类型需要相同),而不是JOIN:


插图
插图


  5.数据流终点
====   数据流终点 ====
 
插图
插图


第43行: 第37行:
  设置变量注意也是设置的变量只能以后的转换使用
  设置变量注意也是设置的变量只能以后的转换使用


  6.其它
====   其它 ====
 
插图
插图


  单线程流程,暂不展开
  单线程流程,暂不展开


三、应用
=== 应用 ===
 
  1.Null值处理


====   Null值处理 ====
插图
插图



2021年10月21日 (四) 02:45的版本

概述

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

  应用则是提供一些工具类

流程步骤

  ETL元数据注入

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

  数据过滤

插图

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

插图

  处理不确定的数据行数

插图

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

  多来源数据合并

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

插图

  数据流终点

插图

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

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

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

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

  其它

插图

  单线程流程,暂不展开

应用

  Null值处理

插图

  2.启动其它程序

插图

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

  3.日志功能

插图

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

  4.文件处理功能

插图

  5.发送邮件

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