2017-01-13 34 views
0

我想開發一個將讀取文件的Talend作業父作業。該文件將包含所有子作業名稱。 因此,運行時的父作業必須經過文件中的每個條目(即每個子作業名稱)並執行子作業。 任何人都可以請指導我這一點。通過父作業運行Talend兒童作業

+0

輸入文件的格式是什麼?我們可以有一個輸入文件的例子嗎? –

+0

輸入文件可以是CSV文件。 – Harshi

回答

0

你可以像下面的場景

enter image description here

這是我嘗試了樣品的工作。

我假設從CSV文件,輸入文件的輸入含有種種

ChildJob1 
ChildJob2 
ChildJob3 

我正在作業名,它像下面

enter image description here

分配到一個上下文變量三家職業名稱

然後在tRunJob組件中使用該上下文變量。

enter image description here

每個子作業都有一個tjava組件,它顯示作業名

enter image description here

希望這可以幫助你。

+0

我得到了以下錯誤 值無法解析或不是字段 請幫忙! – Harshi

+0

在哪個字段上突出顯示錯誤?如果它在'context.JobName'上,那麼請檢查你是否在'Contexts'選項卡中聲明瞭'JobName'上下文變量。 – Viki888

0

可以使用tRunJob動態作業功能,我執行3個作業名爲a,b和c,且訂單的文件中指定,見下圖:

enter image description here

第一塊是將文件加載到上下文中,可以使用屬性文件或分隔文件。

我使用屬性文件與此內容:

jobs=a;c;b;a 

你必須添加一個名爲jobs把propertie值轉換成字符串類型的上下文變量。現在

,我們的工作列表存儲在一個上下文變量,我們需要使用tJavaFlex通過他們迭代和更新稱爲currentjob上下文變量:

enter image description here

最後,這是如何設置tRunJob成分:

enter image description here

在這裏,您指定的作業執行,而是由文件中指定的執行順序!

+0

是否有模式在任何地方進行編輯?和任何上下文參數被填充?我收到錯誤「作業無法解析爲變量」 – Harshi

+0

u需要2個上下文變量,'作業',其中所有作業名稱都來自該文件的一個字符串,'currentjob'是要在其中執行的作業每次迭代。 – 54l3d

+0

如何創建這些上下文變量?我是新人,所以我不知道。 – Harshi