IICS报错:Joiner转换不允许拼接 同一源数据集关联求助
解决Informatica中“Concatenation disallowed on transformation Joiner.”报错
方案1:换用Lookup Transformation替代Joiner
- 把Behaviors数据集作为Lookup源,在Response 200的处理流程里加一个Lookup转换,通过
PK_Response200 = FK_Response200匹配,直接拉取需要的字段。 - 选Connected Lookup,开启Lookup缓存(数据量小用静态缓存,量大用动态),不用拆分两个数据流进Joiner,能避开分支关联的问题,适合同一次API调用的关联场景。
方案2:修正Joiner的输入流配置
如果非要用Joiner,得把以下配置改对:
- 两个输入流都得走主动转换(比如Sorter、Aggregator),而且必须按关联键排序:Response 200流按
PK_Response200升序排,Behaviors流按FK_Response200升序排,两个Sorter要分开建,不能共用。 - 打开Joiner的属性,勾选Sorted Input,设置关联条件为
PK_Response200 = FK_Response200,选数据量少的那个作为主表(Master)。
方案3:用Normalizer直接解析嵌套JSON
如果API返回的JSON是嵌套结构(Response 200里包含Behaviors数组),直接用Normalizer转换解析JSON时,把Behaviors数组拆成多行,同时保留PK_Response200,这样不用额外关联,直接就能拿到关联好的数据,再用Filter或Projection提取需要的字段就行。
内容的提问来源于stack exchange,提问作者Lan
相关产品推荐
相关产品推荐

