otter最佳实践(四)部分数据脱敏等处理

在数据同步时,出于某些考虑,对一些敏感数据要进行二次处理,在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

0%