2016-05-25 41 views
0

在我的轉換中,我在Modified java腳本中創建了一個var(當前時間格式爲yyyy-mm-dd HH24mmss)。然後我使用set變量步驟將該字段設置爲一個變量,並且該作用域在根作業中有效。kettle etl傳遞變量

問題是如何在另一個轉換中使用該變量(在同一個作業中)?我試圖變量,但似乎只有系統變量。我想要做的是將日期輸出到第二次轉換中的文件。中間還有更多的轉換,這就是爲什麼我不能在第一次轉換中完成輸出。

或者是否有可能在作業中創建一個變量,並設置其值(當前日期爲yyyy-mm-dd HH24mmss),然後在轉換中使用它?

編輯:

答案的工作,但日期是不是在我預期的格式(YYYY-MM-DD HH24mmss),這是不明確的日期是什麼格式。例如,如果我嘗試在修改的java腳本中格式化並使用getFullYear函數,那麼我會得到TypeError:在對象Wed May 25 17:44:04 BST 2016中找不到函數getFullYear。但是,如果我只是將它輸出到文件,日期是yyyy/mm/dd hh:mm:ss。

所以我找到了另一種方法來做到這一點,就是使用表格輸入並生成所需格式的日期和設置變量,其餘部分是相同的。

回答

0

在第一次轉換中,使用Get System Info步驟將當前日期/時間插入到數據流中,並將其運行到Set Variables步驟,該步驟設置作業中定義的變量。

當您使用CTRL-Space時,您正在使用的變量可能不會出現在下拉列表中。這是因爲變量在運行時由作業分配,並且在設計時不可用。只需在設計時在該字段中輸入「$ {VariableName}」即可。當您從包含該名稱變量的作業運行時,它應該可以工作。