Kettle: 行转列与列转行

1. 行转列

图1
图1

 假如现在要将上述数据中的Gender、Age、Annual_Income、Spending_Score字段转换放到同一个列中,具体如下:

这个时候就需要用到【行转列】操作。

创建如下转换

其中【表输入】是为了导入图1中的数据。主要来看【行转列】中的配置:

这里需要说明一下, Gender字段中的值型String型,而Age\Annual_Income\Spending_Score这三个字段是Int型。如果Gender不是在第一位置出现的话(如图3),这个转换是无法正常进行的(如图4),尽管这个时候转换并不报错。

图3
图4

2. 列拆分为多行

【列拆分为多行】可以将一个字段中的数据按照特定的分隔符或者正则表达式分割出来,每一个分割出的部分单独占据一行。比如,创建如下转换:

 数据如下:

 【列拆分为多行】的设置如下:

 其结果如下:

3. 列转行

【列转行】和【行转列】实现相关的操作,现在使用【列转行】将第1部分中使用【行转列】得到的结果给转换回去。【列转行】中的设置如下:

图5

 其转换结果如下:

图5

4.行扁平化

如果现在我们想要将图6中的数据转化成图1中的原始数据。如果我们有图2中的Feature字段,则可以直接使用【列转行】操作,但是如果没有Feature字段,则可以使用【行扁平化】操作。

图6

 【行扁平化】设置如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值