PDI Kettle 示例 Hello World!

示例實(shí)現(xiàn)一個(gè)功能烁落,將原文本轉(zhuǎn)換為目標(biāo)文本,格式如下:

源文本
last_name,name
Suarez,Maria
Guimaraes,Joao
Rush,Jennifer
Ortiz,Camila
Rodriguez,Carmen
da Silva,Zoe
目標(biāo)文本
<Rows>
  <row>
    <msg>Hello, Maria!</msg>
  </row>
  <row>
    <msg>Hello, Joao!</msg>
  </row>
  <row>
    <msg>Hello, Jennifer!</msg>
  </row>
  <row>
    <msg>Hello, Camila!</msg>
  </row>
  <row>
    <msg>Hello, Carmen!</msg>
  </row>
  <row>
    <msg>Hello, Zoe!</msg>
  </row>
</Rows>

通過(guò)對(duì)源文本與目標(biāo)文本的觀察幢妄,容易看出源文本是CSV格式的名單列表剧董,目標(biāo)文本是XML格式的問(wèn)候語(yǔ)幢尚,此例要做的事,就是讀取以名單列表翅楼,生成問(wèn)候語(yǔ)并轉(zhuǎn)存為XML尉剩。

A Transformation is made of Steps, linked by Hops. These Steps and Hops form paths through which data flows.

準(zhǔn)備實(shí)驗(yàn)環(huán)境

新建名為Tutorial的目錄,用于存放實(shí)驗(yàn)所需文件毅臊。新建名為list.csv的文件保存源文本理茎。

轉(zhuǎn)換預(yù)排

實(shí)驗(yàn)將完成以下三個(gè)子任務(wù):

  1. 新建轉(zhuǎn)換器
  2. 通過(guò)增加步與跳(steps and hops)設(shè)計(jì)基本的轉(zhuǎn)換流
  3. 為數(shù)據(jù)集與期望行為配置步驟
新建轉(zhuǎn)換器
  1. 點(diǎn)擊 new file 然后選擇 轉(zhuǎn)換。
  2. 點(diǎn)擊 以不同名稱保存轉(zhuǎn)換管嬉,將轉(zhuǎn)換保存在Tutorial目錄并命名為hello. 轉(zhuǎn)換被會(huì)被保存為hello.ktr文件皂林。
通過(guò)增加步驟與跳線(steps and hops)設(shè)計(jì)基本的轉(zhuǎn)換流

步驟是轉(zhuǎn)換中的最小單元。Kettle中有非常多的步驟蚯撩,它們被分類組織在一起础倍。每一個(gè)步驟都被設(shè)計(jì)成用于完成一個(gè)特定的功能,例如產(chǎn)生隨機(jī)數(shù)或在數(shù)據(jù)庫(kù)中插入行求厕。
跳線是以圖形表示的源與目的步之間的數(shù)據(jù)流著隆。沿跳線流動(dòng)的數(shù)據(jù)構(gòu)成了源步驟的輸出數(shù)據(jù)與目的步驟的輸入數(shù)據(jù)扰楼。一個(gè)跳線僅能有一個(gè)源與一個(gè)目的呀癣,但一個(gè)步驟可以連接多個(gè)跳線。

實(shí)驗(yàn)中的轉(zhuǎn)換將完成如下步驟:

  1. 讀CSV文件
  2. 構(gòu)造問(wèn)候語(yǔ)
  3. 在XML文件中保存問(wèn)候語(yǔ)

通過(guò)拖拽完成如下形式

image
為數(shù)據(jù)集與期望行為配置步驟

每一個(gè)步驟都有一個(gè)配置窗口弦赖,依照步驟的功能其配置窗的樣式也各不相同项栏。

配置 CSV file input 步驟
  1. 改變步驟名稱,鍵入 讀入名稱列表
  2. 點(diǎn)擊 Browse 選擇 list.csv
  3. 點(diǎn)擊 Get Fields蹬竖,名單的第一行被當(dāng)作列名添加在網(wǎng)格中
  4. Switch lazy conversion off
  5. 點(diǎn)擊 OK
配置 Modified JavaScript Value Step
  1. 代碼區(qū)鍵入
var msg = 'Hello, ' + name + "!";
  1. 點(diǎn)擊 Get variables
  2. 點(diǎn)擊 OK
配置 XML Output Step
  1. 點(diǎn)擊 Browser沼沈,指定一個(gè)你喜歡的名字
  2. 點(diǎn)擊 Fields 頁(yè)標(biāo)簽
  3. 點(diǎn)擊 Get Fields
  4. 刪除 last_name, name
  5. 點(diǎn)擊 Content type 選擇 Element
  6. OK
  7. CTRL-S

怎樣工作?

當(dāng)轉(zhuǎn)換執(zhí)行時(shí)币厕,所有的步驟同時(shí)異步執(zhí)行列另。
現(xiàn)在,Hello World差不多已經(jīng)完成了配置工作旦装。轉(zhuǎn)換讀取輸入文件页衙,通過(guò)JavaScript代碼為每一行創(chuàng)建一條信息,然后將信息發(fā)送到輸出文件。這是一個(gè)數(shù)據(jù)量很少的小示例店乐,所有很難注意到其是異步執(zhí)行的艰躺。但要記住,有可能在某刻一個(gè)名字已經(jīng)寫入了輸出文件眨八,而其它的還留在轉(zhuǎn)換的第一步腺兴。

核查,預(yù)覽及執(zhí)行

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末廉侧,一起剝皮案震驚了整個(gè)濱河市页响,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伏穆,老刑警劉巖拘泞,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異枕扫,居然都是意外死亡陪腌,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門烟瞧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)诗鸭,“玉大人,你說(shuō)我怎么就攤上這事参滴∏堪叮” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵砾赔,是天一觀的道長(zhǎng)蝌箍。 經(jīng)常有香客問(wèn)我,道長(zhǎng)暴心,這世上最難降的妖魔是什么妓盲? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮专普,結(jié)果婚禮上悯衬,老公的妹妹穿的比我還像新娘。我一直安慰自己檀夹,他們只是感情好筋粗,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著炸渡,像睡著了一般娜亿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蚌堵,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天买决,我揣著相機(jī)與錄音,去河邊找鬼。 笑死策州,一個(gè)胖子當(dāng)著我的面吹牛瘸味,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播够挂,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼旁仿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了孽糖?” 一聲冷哼從身側(cè)響起枯冈,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎办悟,沒(méi)想到半個(gè)月后尘奏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡病蛉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年炫加,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铺然。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡俗孝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出魄健,到底是詐尸還是另有隱情赋铝,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布沽瘦,位于F島的核電站革骨,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏析恋。R本人自食惡果不足惜良哲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绿满。 院中可真熱鬧臂外,春花似錦窟扑、人聲如沸喇颁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)橘霎。三九已至,卻和暖如春殖属,著一層夾襖步出監(jiān)牢的瞬間姐叁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工肄扎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留词身,地道東北人嫡意。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓酷窥,卻偏偏與公主長(zhǎng)得像弃榨,于是被迫代替她去往敵國(guó)和親宾添。 傳聞我的和親對(duì)象是個(gè)殘疾皇子勺像,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容