30天學會Data Integration - Kettle系列 第 25 篇 - Job動態傳遞參數

 延續上一篇,此篇將介紹如何動態傳遞參數給Job使用,介紹兩種方式:

1.透過Kettle GUI傳遞參數
2.透過Command Line傳遞參數

1.透過Kettle GUI傳遞參數

開啟範例檔案

開啟 \data-integration\samples\jobs\arguments\Set arguments on a transformation.kjb



從上一篇得知此Job的Transformation Entry是執行Run transformation.ktr檔案,其中有使用到Get System Info Step來得取三個參數,名稱分別為One、Two與Three



執行Job

在Run Options畫面,按下Arguments(legacy)按鈕



會出現01、02與03三個參數,分別對應One、Two與Three,Value的部份我們可以自行輸入任意值,完成後按下OK按鈕,再按下Run按鈕



查看Excel

開啟 \data-integration\samples\transformations\output\arguments-test.xls,在這邊會發現,Excel寫入的值跟我們傳入的參數值不同



請清空Run transformation.ktr Entry的Argument頁籤中的預設參數,如果你今天是想使用靜態參數就可以在這邊設定,但此篇是要以動態的方式給值,所以請按Delete鍵進行預設參數的刪除



再重新執行一次,成功接收參數並寫入Excel檔案囉!



2.透過Command Line傳遞參數

開啟命令提示字元



切換到解壓縮kettle的目錄下,輸入以下指令

kitchen.bat /file:<directory>\<job or transformation name> arg1 arg2 arg3
D:\data-integration>kitchen.bat /file:D:\data-integration\samples\jobs\arguments
\Set arguments on a transformation.kjb 111 222 333



執行錯誤,檔案名稱不能有空白



請複製job並更名,以下是將空白改為底線:
Set arguments on a transformation.kjb → Set_arguments_on_a_transformation.kjb

D:\data-integration>kitchen.bat /file:D:\data-integration\samples\jobs\arguments
\Set_arguments_on_a_transformation.kjb 111 222 333





執行完成



開啟Excel檔案

成功接收參數並寫入Excel檔案囉!




Transformation使用GUI的方式與Job類似,一樣是Run Options裡面設定,另外補充透過Commamd Line執行Transformation的指令:

pan.bat /file:<directory>\<transformation name> arg1 arg2 arg3

留言

這個網誌中的熱門文章

CPE 一顆星選集題目說明與解答 - Java 筆記與心得分享

Visual Studio 自動排版格式化程式碼

1. Vito's family (CPE10406, UVA10041) - CPE一顆星解答與說明