在数据同步时,出于某些考虑,对一些敏感数据要进行二次处理,在otter中如何实现?
同步管理->channel->pipeline->映射关系 编辑,


脱敏处理实例源码:
package com.lcg.nodeext;
import com.alibaba.otter.node.extend.processor.AbstractEventProcessor;
import com.alibaba.otter.shared.etl.model.EventColumn;
import com.alibaba.otter.shared.etl.model.EventData;
/**
* Hello world!
*
*/
public class App extends AbstractEventProcessor {
public boolean process(EventData eventData) {
System.out.println("插件进入 plugins in ...");
if("fuser".equalsIgnoreCase(eventData.getTableName())){
for (EventColumn column : eventData.getColumns()) {
//对手机号码进行转换处理
if(column.getColumnName().equalsIgnoreCase("phone")){
String oriphone = column.getColumnValue();
System.out.println("process column phone:"+oriphone);
if(oriphone != null && oriphone.length() == 11){
column.setColumnValue(oriphone.substring(0, 3)+"****"+oriphone.substring(7));
}
}
}
}
return true;
}
}
本文参考:https://github.com/alibaba/otter/wiki/Otter%E6%89%A9%E5%B1%95%E6%80%A7