1. 變量的類型
Kettle 的早期版本中的變量只有系統環境變量
目前版本中(3.1) 變量包括系統環境變量, "Kettle變量" 和內部變量三種
系統環境變量的影響范圍很廣,凡是在一個 JVM下運行的線程都受其影響.
Kettle 變量限制了變量的作用范圍, 變量范圍包括三種分別是 grand-parent job, parent job, root job
內部變量: 是 kettle 內置的一些變量, 主要是kettle 運行時依賴的環境, 如轉換文件名稱, 轉換路徑,ip地址, kettle 版本號等等.
2. 變量的設置
"系統環境變量" 有三種設置方式
1) 通過命令行 -D 參數
2) 屬性文件 kettle.property 中設置, 該屬性文件位於 ${user.home}.kettle 下
3) 通過設置環境變量步驟 (Set Variable) 設置.
"Kettle 變量" 只能通過設置環境變量 (Set Variable) 步驟設置,同時設置變量的作用范圍.
"內部變量" 是預置的無須設置.
3. 變量的使用
無論哪種類型的變量在使用上都是一樣的, 有兩種方式
1) 通過 %%var%% 或 ${var} 來引用, 這個引用可以用在 SQL 語句中, 也可以用在允許變量輸入的輸入框里.
2) 通過獲取變量 (Get Variable) 步驟來使用
命令行參數:
1. 設置: 命令行參數通過獲取系統信息(Get System Info) 步驟設置, 在使用時可以像列名一樣來使用,不必像變量一樣要通過 ${var} 這樣的格式引用. 用戶最多可以設置10個命令行參數
2. 傳遞: 命令行下使用 pan /file:xxx.ktr arg1 arg2 來傳遞參數.
圖形界面下,每次運行時有要求輸入參數的提示窗口.