首页 > 代码库 > kettle中denormalizer(列转行)的使用

kettle中denormalizer(列转行)的使用

需要列转行的数据分为两种:有主键和无主键,先说无主键的

转以前的内容

wKioL1O1BCii1tTQAAB1oP7gAEA646.jpg

转以后的内容

wKiom1O1BGigsmI4AABdqF-P6BY429.jpg

看到了吧,转过来了,好来张整体流程图

wKiom1O1BKvQCyZdAABiJZ92XIY112.jpg

开始分析:

第一个图标打开后为

wKioL1O1BOehkwuZAAFMWEzeCC0178.jpg

这是第一步里面主要的一步,这里配置好了就可以进行第二步了。

因为没有主键,所以要给城市那一列添加一个相同的主键,这样数据在转成行的时候就可以转到同一行了,如果主键不同,转成行后,每一个主键为一行,这不是我们想要的。

打开列转行的界面为

wKiom1O1BjXSvMZ5AAF1B9VVmis798.jpg

图中的dummy是我们前一步添加的常量,关键字段选择城市,关键字段值就为城市的value,数据字段为人数的key,所谓目标字段就是在转成行以后你希望看到的名字。

打开结果输出图标

wKioL1O1BtHwS6w-AACx07ESEic244.jpg

好了,到这里就都配置完了,点执行按钮,你就会看到文中开头的结果了。

有主键的就不说了,那个比无主键的要简单,因为有主键的数据直接转就行,如果不明白可以留言。

本文出自 “乔磊的博客 学习 进步” 博客,请务必保留此出处http://sucre.blog.51cto.com/1084905/1434015