kettle常用其它组件
- Kettle转换组件
- 值映射
- 增加序列
- 字段选择
- Kettle流程控件
- switch case
- 过滤记录
- Kettle连接控件
- 笛卡尔积
- 记录集连接
Kettle转换组件
- 转换是ETL的T,T就是Transform清洗、转换
- ETL三个部分中,T花费时间最长,是“一般情况下这部分工作量是整个ETL的2/3
- kettle转换组件
值映射
- 值映射就是把字段的一个值映射成其他的值
- 在数据质量规范上使用非常多,比如很多系统对应性别gender字段的定义不同
- 系统1:1 男、2女
- 系统2:f 男、m 女
- 数据仓库统一为:male 男、female女
- 需求:
- 从user.json 中读取数据,并把gender列
- 0 -> 男
- 1 -> 女
- 2 -> 保密
- 写入到Excel文件
- 实现步骤:
1、拖入一个 JSON输入组件、一个值映射转换组件、一个Excel输出组件,连接三个组件
- 2、配置JSON输入组件
- 3、配置值映射转换组件
- 4、配置Excel输出组件
增加序列
- 增加序列就是给数据流增加一个序列字段
- 需求:
- 从 user.json 读取数据,并添加序列,把数据保存到Excel
- 实现步骤:
- 1、拖入JSON输入组件、增加序列组件、Excel输出组件,并连接三个组件
- 2、配置JSON Input组件
- 3、配置增加序列组件
- 4、配置Excel输出组件
字段选择
- 字段选择是从数据流中选择字段、改变名称、修改数据类型
- 需求:
- 从 user.json 中读取数据
- 移除birthday和register_date
- 把phone列名改为telephone,id列名改为key,gender列名改为sex
- 输出到Excel文件中
- 实现步骤:
- 1、拖入 JSON输入 组件、字段选择组件、Excel输出组件
- 2、配置输入、字段选择、输出组件
Kettle流程控件
- 流程主要用来控制数据流程和数据流向
switch case
- switch/case组件让数据流从一路到多路。
- 需求:
- 从 user.json 输入读取数据,按sex进行数据分类,把女性、男性、保密分别保存不同的Excel文件里面。
- 0表示男性
- 1表示女性
- 2表示保密
- 实现步骤:
- 1、拖入 JSON输入组件,switch/case组件,三个Excel输出组件
- 2、配置 switch/case 组件
过滤记录
- 过滤记录让数据流从一路到两路。
- 需求:
- 从 user.json 读取数据,分离出 年龄 大于等于25,小于25的数据,分别保存到不同的Excel文件
- 实现步骤:
- 1、拖入 JSON输入组件、过滤记录组件、两个Excel组件,并连接各个组件
- 2、配置过滤记录组件
Kettle连接控件
笛卡尔积
- 需求:
- 从Excel读取两位和三位数,完成两位数和三位数的组合(笛卡尔积),把结果保存在Excel
- 实现步骤:
- 1、设计转换结构
- 2、配置记录关联(笛卡尔积组件)
记录集连接
- 记录集连接类似数据库的左连接、右连接、内连接、外连接。
- 在进行记录集连接之前,应该要对记录集进行排序。
- 需求:
- 从Excel中读取employees和departments数据,进行内关联,左关联,右关联,全关联,把数据保存到Excel
- 实现步骤:
- 1、设计以下组件图
- 2、配置记录集连接组件