“Kettle流程步骤与应用步骤”的版本间的差异
跳到导航
跳到搜索
(创建页面,内容为“一、概述 流程主要用来控制数据流程与数据流向 应用则是提供一些工具类 二、流程步骤 1.ETL元数据注入 …”) |
|||
(未显示同一用户的1个中间版本) | |||
第1行: | 第1行: | ||
=== 概述 === | |||
流程主要用来控制数据流程与数据流向 | 流程主要用来控制数据流程与数据流向 | ||
应用则是提供一些工具类 | 应用则是提供一些工具类 | ||
=== 流程步骤 === | |||
==== ETL元数据注入 ==== | |||
类似Java中的反射,在设计时不知道文件名、文件位置等,在真正执行时才知道具体的一些配置等信息。 | 类似Java中的反射,在设计时不知道文件名、文件位置等,在真正执行时才知道具体的一些配置等信息。 | ||
==== 数据过滤 ==== | |||
插图 | 插图 | ||
第19行: | 第16行: | ||
插图 | 插图 | ||
==== 处理不确定的数据行数 ==== | |||
插图 | 插图 | ||
检测空流用来检测前面过来的流是否是空流;阻塞数据只要最后一行 | 检测空流用来检测前面过来的流是否是空流;阻塞数据只要最后一行 | ||
==== 多来源数据合并 ==== | |||
使用的是UNION进行合并(列数、列名、列类型需要相同),而不是JOIN: | 使用的是UNION进行合并(列数、列名、列类型需要相同),而不是JOIN: | ||
插图 | 插图 | ||
==== 数据流终点 ==== | |||
插图 | 插图 | ||
第43行: | 第37行: | ||
设置变量注意也是设置的变量只能以后的转换使用 | 设置变量注意也是设置的变量只能以后的转换使用 | ||
==== 其它 ==== | |||
插图 | 插图 | ||
单线程流程,暂不展开 | 单线程流程,暂不展开 | ||
=== 应用 === | |||
==== Null值处理 ==== | |||
插图 | 插图 | ||
==== 启动其它程序 ==== | |||
插图 | 插图 | ||
// 注意运行SSH务必提前设置免密登陆! | // 注意运行SSH务必提前设置免密登陆! | ||
==== 日志功能 ==== | |||
插图 | 插图 | ||
写日志就相当于Java代码里的log.info(...)了,用于自定义记录日志 | 写日志就相当于Java代码里的log.info(...)了,用于自定义记录日志 | ||
==== 文件处理功能 ==== | |||
插图 | 插图 | ||
==== 发送邮件 ==== | |||
用空格区分多个收件人(可以使用变量) | 用空格区分多个收件人(可以使用变量) |
2021年10月21日 (四) 02:46的最新版本
概述
流程主要用来控制数据流程与数据流向
应用则是提供一些工具类
流程步骤
ETL元数据注入
类似Java中的反射,在设计时不知道文件名、文件位置等,在真正执行时才知道具体的一些配置等信息。
数据过滤
插图
这里说一下Java代码过滤,主要是Java的一些方法,例如indexOf(),matchs()等:
插图
处理不确定的数据行数
插图
检测空流用来检测前面过来的流是否是空流;阻塞数据只要最后一行
多来源数据合并
使用的是UNION进行合并(列数、列名、列类型需要相同),而不是JOIN:
插图
数据流终点
插图
空操作基本上就是用于自然合并与垃圾箱;
中止可以设置中止的条数,例如设置有10条记录到这里就报错
复制记录到结果可以暂存内存,供以后的转换使用
设置变量注意也是设置的变量只能以后的转换使用
其它
插图
单线程流程,暂不展开
应用
Null值处理
插图
启动其它程序
插图
// 注意运行SSH务必提前设置免密登陆!
日志功能
插图
写日志就相当于Java代码里的log.info(...)了,用于自定义记录日志
文件处理功能
插图
发送邮件
用空格区分多个收件人(可以使用变量)