1、應用是轉換里面的第五個分類。應用都是一些工具類。
1.1、替換NULL值就是把null轉換為其它的值。NULL值不好進行數據分析
1.2、寫日志主要是在調試的時候使用,把日志信息打印到日志窗口。
2、流程是轉換里面的第六個分類。流程主要用來控制數據流程和數據流向。
2.1、Switch/case讓數據流從一路到多路。
2.2、過濾記錄讓數據流從一路到兩路。
2.3、空操作一般作為數據流的終點。在kettle的sample例子中經常使用,但是實際開發中很少使用。
2.4、中止是數據流的終點,如果有數據到這里,將會報錯。用來校驗數據的時候使用。
3、查詢是轉換里面的第七個分類。查詢是用來查詢數據源里的數據並合並到主數據流中。
3.1、HTTP client是使用GET的方式提交請求,獲取返回的頁面內容。
3.2、自定義常量數據是用來生成一些不變的數據。
指定常量數據。
3.3、數據庫查詢就是數據庫里面的左連接。左連接就是兩張表執行左關聯查詢,把左邊的表數據全部查詢出來。
3.4、數據庫連接,可以執行兩個數據庫的查詢,和單參數的表輸入。
3.5、流查詢,在查詢前把數據都加載到內存中,並且只能進行等值查詢。
4、連接是轉換里面的第八個分類。連接是結果集通過關鍵字進行連接。
4.1、合並記錄是用於將兩個不同來源的數據合並,這兩個來源的數據分別為舊數據和新數據,該步驟將舊數據和新數據按照指定的關鍵字匹配、比較、合並。主要用於新舊數據的對比,非常好使的哦!
1)、需要設置的參數:
1.1)、舊數據來源:舊數據來源的步驟。
1.2)、新數據來源:新數據來源的步驟。
2)、標志字段:設置標志字段的名稱,標志字段用於保存比較的結果,比較結果有下列幾種。
2.1)、 "identical",舊數據和新數據一樣。
2.2.)、"changed" ,數據發生了變化。
2.3.)、"new", 新數據中有而舊數據中沒有的記錄。
2.4)、 "deleted",舊數據中有而新數據中沒有的記錄。
3)、關鍵字段:用於定位兩個數據源中的同一條記錄。
3.1)、比較字段:對於兩個數據源中的同一條記錄中,指定需要比較的字段。
3.2)、合並后的數據將包括舊數據來源和新數據來源里的所有數據,對於變化的數據,使用新數據代替舊數據,同時在結果里用一個標示字段,來指定新舊數據的比較結果。
4)、注意:
4.1)、舊數據和新數據需要事先按照關鍵字段排序。
4.2)、舊數據和新數據要有相同的字段名稱。
4.2、記錄關聯,就是對兩個數據流進行笛卡爾積操作。
4.3、記錄集連接就像數據庫的左連接、右連接、內連接、外連接。注意:在進行記錄集連接之前,應該要對記錄集進行排序。
5、統計是轉換里面的第十三個分類。統計是提供數據的采樣和統計功能。
5.1、分組是按照某一個或某幾個進行分組,同時可以將其余字段按照某種規則進行合並。注意:分組之前數據應該進行排序!
6、映射是轉換里面的第十八個分類。映射是用來定義子轉換,便於封裝和重用。
6.1、映射(子轉換),是用來配置子轉換,對子轉換進行調用的一個步驟。子轉換可以讓相同的業務功能進行重用,抽取出來,方便進行調用。
6.2、映射輸入規范,是輸入字段,由調用的轉換輸入。
6.3、映射輸出規范是向調用的轉換輸出所有列,不做任何處理。
7、腳本是轉換里面的第七個分類。腳本就是直接通過程序代碼完成一些復雜的操作。
7.1、Javascript腳本,就是使用javascript語言通過代碼編程來完成對數據流的操作。JS中有很多內置函數,可以在編寫JS代碼時查看。
存在兩種不同的模式:不兼容模式和兼容模式。不兼容模式:是默認的,也是推薦的。兼容模式:兼容老版本的kettle。
1 1)、javascript腳本-獲取字段 2 不兼容模式: 3 myVar = FieldName; 4 5 兼容模式:根據字段類型的不同,使用不同的方法: 6 myVar = FieldName.getString(); 7 myVar = FieldName.getNumber(); 8 9 10 2)、javascript腳本-給字段賦值 11 不兼容模式:直接使用字段名,如 12 FieldName = myVar; 13 14 兼容模式:使用 15 FieldName.setValue(myVar); 16 17 18 3)、javascript腳本-在腳本中使用java類 19 不兼容模式: 20 var myVar = new java.lang.String(“pentahochina.com”); 21 22 兼容模式: 23 var myVar = new Packages.java.lang.String (“pentahochina.com”);
Javascript腳本,就是使用javascript語言通過代碼編程來完成對數據流的操作。
7.2、java腳本就是使用java語言通過代碼編程來完成對數據流的操作。內置了很多函數可以直接使用。
Java腳本Main,Main函數對應一個processRow()函數,processRow()函數是用來處理數據流的場所!
7.3、執行SQL腳本可以執行一個update語句,用來更新某個表中的數據。
作者:別先生
博客園:https://www.cnblogs.com/biehongli/
如果您想及時得到個人撰寫文章以及著作的消息推送,可以掃描上方二維碼,關注個人公眾號哦。