talend - 在 tOutput 之前放置一个逻辑

talend - put a logic before tOutput

我有一份 talend 工作,它包含以下组件: - 1个从数据库中获取数据的数据库输入组件 - 1 个将获取的数据写入平面文件的输出组件。

现在,我有一个场景,其中,根据一些 if else 逻辑,从获取的数据的两个字段中,只有一个应该放在输出中。

谁能帮我解决这个问题?是否使用 tMap?

您的 if/else 逻辑可以放在 tMap 中;作为 tMap 输出中的三元运算符。

condition?resultifOK:resultifKO

例如,如果 ColumnA 的值是 "MY CONDITION",您想在文件中插入 ColumnA 的值,否则您插入 ColumnB 的值:

您将直接在 tMap 的输出行中获得:

"MY CONDITION".equals(row1.ColumnA)?row1.ColumnA:row1.ColumnB

您不能在 tMap 中直接使用 if/else。如果您有多个条件,请考虑使用 Routine 而不是多个三元运算符。