Kettle: 行转列与列转行

tech2024-11-12  15

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

 【行扁平化】设置如下:

最新回复(0)