kettle——入门操作-行列转换(行转列,字段拆分)
1、Row Normaliser,將一行多列數(shù)據(jù)轉(zhuǎn)換為多行一列數(shù)據(jù)。
輸入數(shù)據(jù)流:
計算器配置如下:
與計算器相連接的excel輸出如下:
Row Normaliser,設(shè)置如下,
?
與Row Normaliser連接的Excel輸入如下
?
?2、Split field to rows 字段拆分,一個單元拆分成多行
輸入流字段:
Split field to rows 設(shè)置:
結(jié)果展示
3、拆分字段,將一個字段拆分成多個,一個字段拆分成多列
Generate Rows輸入流,
拆分字段,設(shè)置,一個單元拆分成三列
拆分字段連接的Excel輸出如下,一行三列轉(zhuǎn)換成三行一列
Row Nomaliser配置,及Excel輸出,
4、行轉(zhuǎn)列,一列多行轉(zhuǎn)變?yōu)槎嗔幸恍?#xff0c;前面xml部分已經(jīng)用過。
?
總結(jié): 行轉(zhuǎn)列:一列多行轉(zhuǎn)變?yōu)槎嗔幸恍?#xff0c;需要分組字段及標(biāo)識,以xml解析為典型
Row Normaliser:將一行多列數(shù)據(jù)轉(zhuǎn)換為多行一列數(shù)據(jù)。
Split field to rows 字段拆分,一個單元拆分成多行。
? ?拆分字段,一個單元拆分成三列
?
kettle中denormalizer(列轉(zhuǎn)行)的使用
需要列轉(zhuǎn)行的數(shù)據(jù)分為兩種:有主鍵和無主鍵,先說無主鍵的
轉(zhuǎn)以前的內(nèi)容
轉(zhuǎn)以后的內(nèi)容
看到了吧,轉(zhuǎn)過來了,好來張整體流程圖
開始分析:
第一個圖標(biāo)打開后為
這是第一步里面主要的一步,這里配置好了就可以進(jìn)行第二步了。
因為沒有主鍵,所以要給城市那一列添加一個相同的主鍵,這樣數(shù)據(jù)在轉(zhuǎn)成行的時候就可以轉(zhuǎn)到同一行了,如果主鍵不同,轉(zhuǎn)成行后,每一個主鍵為一行,這不是我們想要的。
打開列轉(zhuǎn)行的界面為
圖中的dummy是我們前一步添加的常量,關(guān)鍵字段選擇城市,關(guān)鍵字段值就為城市的value,數(shù)據(jù)字段為人數(shù)的key,所謂目標(biāo)字段就是在轉(zhuǎn)成行以后你希望看到的名字。
打開結(jié)果輸出圖標(biāo)
好了,到這里就都配置完了,點執(zhí)行按鈕,你就會看到文中開頭的結(jié)果了。
有主鍵的就不說了,那個比無主鍵的要簡單,因為有主鍵的數(shù)據(jù)直接轉(zhuǎn)就行,如果不明白可以留言。
轉(zhuǎn)載于:https://www.cnblogs.com/pejsidney/p/8984133.html
總結(jié)
以上是生活随笔為你收集整理的kettle——入门操作-行列转换(行转列,字段拆分)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL SERVER逆向工程将数据库导入
- 下一篇: 前端工程化系列好文摘要