2014-10-08 75 views
0

我試圖在Talend中創建一個主要工作來掃描多個文件的目錄(f1.csv,f2.xls ...),然後運行爲特定文件創建的單獨作業。我想創建一個上下文變量來捕獲文件名並調用相應的作業。如何設置上下文變量來存儲找到的文件的文件名並將其傳遞給其他作業?Talend - 將上下文加載到subjobs

+0

你有兩個作業定義的環境變量,然後當你有阻力和使用扔下工作tRunJob可以傳遞上下文變量值顯式地子/子作業 – garpitmzn 2014-10-08 16:07:53

+0

我在tRunJob上添加了一個上下文參數並傳遞了這個值:((String)globalMap.get(「tWaitForFile_1_FILE名稱」)) – rptstk 2014-10-08 16:54:04

回答

0

創建一個名爲child_job的工作。在裏面,轉到上下文選項卡,並用String類型創建一個名爲file的新上下文變量。在裏面,你可以放置引用這個context.file變量的組件。 現在,創建另一個名爲main_job的作業。在裏面,放一個tFileList。使用您想要查找文件的所需路徑配置此組件中的設置。然後,從左側面板(作業設計)拖動child_job,或者放置一個tRunJob並將其設置爲調用child_job作業。最後,加入帶child_job迭代鏈接的tFileList,選擇child_job,進入Component選項卡,添加一個參數(之前創建的文件參數)並將值設置爲((String)globalMap.get(「tFileList_1_CURRENT_FILE」 )),你就完成了!

類似的東西:

enter image description here

enter image description here

enter image description here