2012-11-26 55 views
0

我有這樣的工作流程,顯示組件數據

tAccessInput_1 - > tMap_1 - > tSortRow_1 - > tJava - > tBufferOutput_1。 是否可以在每次迭代時在tJava組件中顯示tBufferOutput_1中的數據。如果可能我怎麼辦?

回答

1

如果您只是想輸出任何輸入到tBuffer組件,請嘗試連接到將控制檯中的所有內容吐出的組件。

如果你想tJava其他一些特定的原因,這裏有一個稍微令人費解的方法:

tBufferOutput_1 - > tFlowToIterate - > tIterateToFlow - > tJava

然後,在tJava,你可以做到以下幾點: System.out.println((String)globalMap.get(「row.column」));

其中:

是tIterateToFlow到tJava(如ROW6)之間

主要數據行的名字是你想輸出

數據無論架構列被轉換成一個字符串,但在你的情況下,它可能是一個整數或別的東西。

您需要將流程更改爲迭代的原因是因爲tJava需要迭代才能打印所有行(正如您在問題中正確指出的那樣)。

0

正如llaen所解釋的,最好的解決方案是使用tLogRow來打印Talend/Java控制檯中的每一行。 如果您想自定義打印,你應該更好地使用tJavaRow(而不是tJava)避免使用tFlowToIterate和tIterateToFlow

的方式tAccessInput_1 - > tMap_1 - > tSortRow_1 - > tJavaRow - > tBufferOutput_1

然後,在tJavaRow,使用下面的java代碼:的System.out.println(input_row.column)

其中:
input_row將由了Talend代碼發生器
被自動解釋,並且取代 是你想輸出的任何模式列