使用Kettle的命名參數動態執行作業


關於如何根據傳入的不同參數,達到動態運行作業的目的,這里不介紹。只提供一個思路,就是不同的調度進程調度同一個Kettle文件時,傳入了不同的參數,從而得到不同的數據。

如下圖所示:

image

1. 先設置參數名稱,雙擊Kettle空白處,選擇Parameters 選項卡

 

2. 輸入一個參數名,默認值可以不給

image

 

3. 測試作業里有兩個主要步驟

image

l set variables 用來把獲取到的參數值,設置成一個變量

l write to log 用來打印變量

4. set variables 中需要設置變量名稱和變量值

image

變量名是arg1 ,變量的值是通過命名參數獲取進來的。所以使用${} 括起來。

5. write to log 就是簡單的打印變量

image

 

6. 點擊運行作業,然后給參數一個值

image

 

 

對於Linux環境需要些腳本運行,運行腳本類似下面

/kettle/data-integration7/kitchen.sh /file:testargument.kjb /param:"myarg1=123inb"

其中kitchen.sh 是kettle的調用入口

testargument.kjb 是作業文件的路徑和名字,我的文件放在當前目錄下,所以沒有寫路徑

指定參數時使用雙引號括起來。如果有多個參數需要指定,那么需要寫多個/param 

 

需要注意,如果多個/param 中指定了相同的參數名,將會報錯

Exception in thread "main" java.lang.reflect.InvocationTargetException

 

 

7. 查看運行結果

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM