spoon 勺子 kettle 4.1.3字段清理

4.1.3字段清理
环境配置:
安装kettle,mysql,
并将mysql-connector-java-5.1.48-bin.jar文件放到指定路径(data-integration\lib
路径)下,导入myemployees数据库。
安装版本:kettle
Mysql :mysql-connector-java-5.1.48.tar.gz,
在这里插入图片描述

目录:
1“拆分字段成多行”步骤
2“拆分字段”步骤和“合并字段”步骤
3“字段选择“步骤

								关于字段清理概念

关于字段清理,我们这里简介四个常用步骤:“拆分字段成多行“,”拆分字段“,”合并字段“,”字段选择“。说明如下:
(1)“拆分字段成多行“的说明如下
①将一行的记录拆分成多行记录,新的记录里有一个新的字段,由拆分的子字符来填充
②拆分方式可根据分隔符进行拆分,其中分隔符支持正则表达式
③被拆分的源自段仍保留在新的记录里

(2)“拆分字段“的说明如下
①将指定的输入字段根据分割符拆成多个字段
②被拆分的字段将不复存在
③分隔符不支持正则表达式

(3)“合并字段“的说明如下
①将多个字段用分隔符连接起来输出到一个新的字段
②被合并的字段在新的记录行里被原样保留

(4)“字段选择”的说明如下
①可以对输入流的字段做选择,删除,重命名等操作,还可以根据更改字段数据类型和精度等,这些功能被组织成3个分类:“选择和修改”,“移除”,“元数据”,
②在“选择和修改”选项卡,可以选择要输出的字段,修改字段名和数据类型等
③在“移除”选项卡,选择的字段将在输出里被删除。这里要注意,因为删除字段后字段的顺序在内部发生了变化,这样会减慢运行的速度。
④在“元数据”选项卡,可以重命名输入字段,也可以将其转换为不同的数据类型,还可以更改长度和精度等。
下面来通过示例来进行讲解:

1“拆分字段成多行”步骤

(先看一下结果截图)
在这里插入图片描述

新建一个转换,命名为4.1.3.字段清理,同样使用“Data Grid”步骤作为输入,设计一个

在这里插入图片描述
在这里插入图片描述

其中,“城市”字段包含多个城市名,现在希望按每个城市拆分成多行,这里会用到“split filed to rows”步骤。在这里,我们设置要拆分的字段“field to split”为“城市“,新字段“”New field name “ 设置成“城市New”。这里将分隔板设置成逗号, 假设分隔符同时由中英文分号,中英文逗号,顿号,这时可以将分隔符设成如下正则表达式:[,,;;、](这个步骤的分隔符是支持正则表达式)
在这里插入图片描述

在这里插入图片描述

2“拆分字段”步骤和“合并字段”步骤

先看结果图(2个,一个拆分字段,一个合并字段)
在这里插入图片描述

在这里插入图片描述

先来看“拆分字段步骤”,该步骤将一个字段拆分成多个字段,数据行数不会发生变化。
转换依然是4131拆分字段成多行(在一个转换里,只需调整运行与否的蓝色线,灰色表示不运行),新建“Split Fields”步骤,并创建一个“Data Grid”步骤到该步骤的跳
现在开始设置“Split Fields”步骤,同样选择要拆分的字段为“城市”;分隔符设为逗号;
设置4个拆分之后新字段名为:“城市1” “城市2” “城市3” “城市4”(这个步骤的分割符不支持正则表达式)
在这里插入图片描述

运行转换
在这里插入图片描述

前面介绍了“合并字段”步骤的功能,可以看成“拆分字段”步骤的逆操作,可直接使用“Split Fieds”步骤结果作为“Concat Fields”步骤的输入,只需对“Split Files”步骤新建一个跳(Hop)到“Concat fields”步骤,数据分发方式选择复制(copy)

在这里插入图片描述
在这里插入图片描述

3“字段选择“步骤

结果图先来看一下把
在这里插入图片描述

在转换里 设置元数据,如图
在这里插入图片描述

对“Date Grid”步骤输入一组示例数据,如图
在这里插入图片描述

现在进行4个操作,
1删除“Age”
2将“Birth”日期格式改成“yyyy-MM-dd
3将”sex“字段名修改成”Gender“,并将”Gender“字段移到”Name“字段后面
4将“salary“字段的数据类型改成浮点型数据并保存两位小数
在这里插入图片描述

开始操作
1删除“Age”

2将“Birth”日期格式改成“yyyy-MM-dd
3将”sex“字段名修改成”Gender“,并将”Gender“字段移到”Name“字段后面
4将“salary“字段的数据类型改成浮点型数据并保存两位小数

在这里插入图片描述

结果图:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值