天天看點

Kettle8.2腳本元件之Java腳本

Kettle8.2腳本元件之Java腳本

    • 一、相關說明
    • 二、設計轉換
    • 三、轉換配置
    • 四、運作轉換
    • 五、結果檢視

一、相關說明

  • Java腳本元件說明:

    java腳本就是使用java語言通過代碼程式設計來完成對資料流的操作。内置了很多函數可以直接使用。java腳本主程式入口是processRow()函數,其等價于main方法,processRow()函數是用來處理資料流的場所!

  • 需求說明:

    從Excel中讀取資料,生成newcode字段,如果code列為NULL就使用name列來替換,否則就在code列的後面加上123,結果儲存在Excel。

  • 測試資料源後續上傳至部落格中

二、設計轉換

  • 輸入:Excel輸入
  • 腳本:Java代碼
  • 輸出:Excel輸出
    Kettle8.2腳本元件之Java腳本

三、轉換配置

  • Step1:Excel輸入元件配置
    • 輕按兩下元件,寫上步驟名稱等
    • 相關配置如下所示:
      Kettle8.2腳本元件之Java腳本
  • Step2:Java腳本元件配置
    • 輕按兩下打開,設定步驟名稱
    • 配置資訊,如下,
      Kettle8.2腳本元件之Java腳本
      所需添加java代碼片段如下:
      //擷取code
        String code = get(Fields.In,"code").getString(r);
      
        //判斷,如果code為空,使用name的值給newcode,否則code後面添加123
        if(code == null || "".equals(code)){
           code = get(Fields.In,"name").getString(r);
        }else{
           code += "123";
        }
      
        //設定值給newcode
        get(Fields.Out,"newcode").setValue(r,code);
        // Send the row on to the next step.
        putRow(data.outputRowMeta, r);
                 
  • Step3:Excel輸出元件配置
    • 輕按兩下打開,設定步驟名稱
    • 配置資訊,如下,
      Kettle8.2腳本元件之Java腳本
  • Step4:儲存轉換

    上述配置好後,點選确定即可!

四、運作轉換

  • 點選運作按鈕,成功運作如下:
    Kettle8.2腳本元件之Java腳本

五、結果檢視

  • Preview data 中檢視結果
    Kettle8.2腳本元件之Java腳本

繼續閱讀