otter 一个pipline下多个EventProcessor同时生效

cgyqldqp  于 3个月前  发布在  其他
关注(0)|答案(5)|浏览(68)

一个Pipline下建立二个映射关系,分别配置各自的事件处理器
发现分别配置的两个处理器对每个映射生效
应该是各自生效?

4ktjp1zp

4ktjp1zp2#

有特殊配置吗,我试了好久都是一样
我这边是一个Pipeline下面有多个映射关系 这些映射关系是同一个源表 和多个目标表 多个目标表对应不同的数据源和相应的表
另外帮忙通过一下加群的申请 谢谢 我的QQ34116803

niwlg2el

niwlg2el3#

又试验了一下 如果两个映射关系是同一个源表 二个映射关系的EventProcessor会对每一个映射都生效

就是说虽然EventProcessor在映射关系里面定义,但是实际上EventProcessor应该是会根据表来的,不是只根据映射关系来的。

ProcessorExtractor 第68-69行
for (final EventData eventData : eventDatas) { List<DataMediaPair> dataMediaPairs = ConfigHelper.findDataMediaPairByMediaId(pipeline, eventData.getTableId()); ...}

kxeu7u2r

kxeu7u2r4#

改了一下 临时的处理办法是把 com.alibaba.otter.node.etl.extract.extractor.ProcessorExtractor#extract
里面的过滤逻辑移动到了 com.alibaba.otter.node.etl.transform.transformer.OtterTransformerFactory#transform

gpfsuwkq

gpfsuwkq5#

@agapple 请问一下如何各自生效?谢谢

相关问题