kettle元件 轉換

2022-08-24 13:24:14 字數 2274 閱讀 1605

1:列轉行

2:列轉行

3:去除重覆記錄

步驟名稱:保持唯一性

增加計數器到輸出?:當勾選了此項,並在計數器欄位後給予了名稱,則將會在該字段下顯示去掉的重複行數。

欄位名稱:用來去重的字段,可選多個字段,表示多個欄位都相同時表示重複。

該功能類似與sql中的distinct關鍵字。

4:增加序列

乙個序列是在某個起始值和增量的基礎之上,經常改變的整數值。可以使用資料庫定義好的序列,也可以使用kettle決定的序列。

kettle序列在同乙個轉換中是唯一使用的,每一次轉換執行的時候,序列的值又會重新迴圈一次,從開始值開始。

使用資料庫序列:

連線名稱:選擇資料庫存在的連線名稱。

序列名稱:資料庫序列的名稱。

使用計數器來計算序列:如果想用kettle生成的序列,使用此項。

計數器名稱(可選):如果乙個轉換中多個步驟生成同樣的值名稱,這個選項允許你指定計數器名稱,避免按照先後順序通過多個步驟。

起始值:序列的起始值。

增量:序列的步長。

最大值:序列的最大值。

5:字段選擇

字段選擇中包含有三個頁籤:選擇和修改,移除,元資料

選擇和修改:用於獲取欄位名稱,並可以對名稱進行修改,還可以修改其長度和精度。

移除:移除欄位後該字段將不會被預覽檢視到。

元資料:可以修改欄位名稱,以及資料型別,長度,精度,格式等資訊。但是,當在選擇和修改中將某一字段的名稱修改,要想

在元資料中繼續修改則選擇修改前的原欄位名稱,會提示找不到該欄位,需要選擇在選擇修改頁籤中已經修改成的名稱。

6:字串替換

將某個欄位的某些字元替換成我們給定的字元。

首先選擇輸入流欄位,

「輸出流欄位」自己命名(就是用來儲存處理後的結果的字段,可以和輸入流欄位保持一致),可以選擇正規表示式,

「搜尋」就是你希望被替換的字元,字串,可以是乙個正規表示式,

「使用…替換」就是你期望用什麼值替換被替換的部分,

「設定為空串」就是將你被選擇的部分用空替換

「使用字段值替換」你可以使用現有的某個欄位的值替換你期望被替換的部分,後面兩個根據自己的需要進行選擇。

案例:1:轉換/輸入/生成記錄-------自定義字段,型別,對應的值,生成記錄可以按照指定的生成記錄數生成值。

2:轉換/轉換/字串轉換-----各種定義

總:a:輸入流欄位----要被替換的字段的名稱

b: 輸出流欄位----替換後的新字段的名稱

c:  搜尋-----------表示要被替換的字元或字串

d: 使用…替換----被替換的字元或字串要被替換為

e: 輸出流字段為空-----此時替換將在原字段做改變

f: 搜尋為空------------每個字元前後都會視為空,為空的位置都會插入被替換字元或字串

g: 使用…替換為空-----搜尋字元將會置空

h: 熟悉kettle中的正規表示式

a:kettle中的正規表示式

1:正規表示式僅用字元或者字串表示-----包含該字元或者字串的字串都會被查詢出來

2:正規表示式中含有句點符號--------------句點符號可以匹配所有字元,包括空格和非字元符號

例如:t.n----匹配tan,ton,tmojn,tn

3:正規表示式中包含方括號----------------只有包含中括號中的字元才能被匹配,方括號只允許匹配單個字元

例如t[asdf]n----匹配tan,tsn,tdn

4: 使用圓括號加/的方式匹配單個或多個字元-----例如:t(a/s/d/f/oo)n----此時toon就會被匹配上

5:表示匹配次數的符號,這些符號用於確定僅靠該符號左邊的符號出現的次數

*表示0次或多次

+表示1次或多次

?表示0次或1次

表示恰好n次

表示n次到m次

6:正規表示式中的連字元「-」表示乙個範圍

7:」^「表示否的意思,表示不匹配該字元

7:將字段值設定為常量

字段:獲取欄位名稱

值替換:用常量值代替原值,此時無論原值有多少行,該行的所有值都會被乙個值所替換。

轉換掩碼:用於設定日期型別的格式。

設為空串:若設為空串則該列值全顯示為空。

8:拆分字段

需要拆分的字段:選擇需要拆分的字段

分隔符:拆分欄位間的結束符號

新的字段:看看能拆分的最大數,依據最大數量來定需要設定的新字段的數量,也可往大的設定,擷取不到將輸出null,也可以往

小的設定,這樣的話值部分擷取不到。

kettle元件 連線

新資料field1,field2 1,1 2,9 5,5 設定 標誌欄位是flag,關鍵字段是 field1,比較欄位是field2 合併後的資料 field1 field2 flag 1 1 identical 2 9 changed 3 3 deleted 4 4 deleted 5 5 new...

Kettle行列轉換

kettle在控制項中擁有行列轉換功能,但是行列轉換貌似是弄反了。一.行轉列 1.資料庫指令碼 create table studentinfo studentno int,subject varchar 10 grade int insert into studentinfo values 201...

kettle 轉換案例

把stu1的資料按id同步到stu2,stu2有相同id則更新資料 1 在mysql中建立兩張表 mysql create database kettle mysql use kettle mysql create table stu1 id int,name varchar 20 age int ...