我有一个包含以下组件的talend作业: - 1个从数据库中获取数据的数据库输入组件 - 1个输出组件,用于将获取的数据写入平面文件。
现在,我有一个场景,其中,从获取数据的两个字段中,根据一些if else逻辑,只应在输出中放置一个。
任何人都可以帮我解决这个问题吗?它是否使用tMap?
答案 0 :(得分:1)
你的if / else逻辑可以放在tMap中;作为tMap输出中的三元运算符。
condition?resultifOK:resultifKO
例如,您希望在文件中插入ColumnA的值,如果它是" MY CONDITION",否则您插入ColumnB的值:
您将直接在tMap的输出行中
"MY CONDITION".equals(row1.ColumnA)?row1.ColumnA:row1.ColumnB
您无法在tMap中直接使用if / else。如果您有多个条件,请考虑使用Routine而不是多个三元运算符。