流批一体化数据加工处理之记录过滤

原创
2024/02/06 08:47
阅读数 43

在使用大数据流批一体化技术加工处理数据时,经常需要过滤掉一些无效或者垃圾数据,本文简单介绍bboss流批一体化数据加工处理时记录过滤功能的使用方法。

1. bboss过滤记录方法

bboss通过接口DataRefactor来加工处理数据


package org.frameworkset.tran;

import org.frameworkset.tran.context.Context;

/**
 * <p>Description: 数据加工处理接口</p>
 * <p></p>
 * <p>Copyright (c) 2018</p>
 * @Date 2018/9/4 9:19
 * @author biaoping.yin
 * @version 1.0
 */
public interface DataRefactor {
  /**
   * 数据加工处理方法
   * @param context 包含需要加工数据记录的上下文对象
   * @return
   */
  public void refactor(Context context) throws Exception;
}

数据加工处理方法refactor接收Context类型参数,对应需要加工处理的数据记录的上下文对象,Context提供获取、修改、添加、删除记录字段的一系列数据处理方法,也包含过滤数据记录的方法setDrop

/**
   * 设置是否过滤掉记录,true过滤,false 不过滤(默认值)
   * @param drop
   */
  void setDrop(boolean drop);

接下来介绍数据过滤方法的使用案例。

2. 记录过滤案例

数据过滤方法的使用非常简单,示例如下:

过滤入网号码为空非法号卡订单


//设置源数据加工操作,指标分析之前执行
            importBuilder.setDataRefactor(new DataRefactor() {
                @Override
                public void refactor(Context context) throws Exception {
                    String new_number = context.getStringValue(CARD_FIELD.NEW_NUMBER.name());
                    //过滤掉入网号码为空非法号卡订单
                    if (null == new_number){
                      context.setDrop(true);//将当前记录标记为丢弃状态,以便过滤记录
                      return ;     //过滤记录无需进行后续的加工处理,直接返回结束记录的后续加工处理         
                    }
                    //加工和处理数据
                    Object value = context.getValue(CARD_FIELD.CHNL_COUNTY.name());
                    if (null == value){
                      context.addFieldValue(CARD_FIELD.CHNL_COUNTY.name(), "未知");
                    }
                }
            });

记录过滤说明:

  1. 通过调用context.setDrop(true)方法,将当前记录标记为丢弃状态,以便过滤记录

  2. 通常将记录过滤处理逻辑放置到refactor方法的开头,避免对需要过滤的记录做一些不必要的处理,以提升数据加工处理效率

  3. 过滤记录无需进行后续的加工处理,直接返回结束记录的加工处理

     

3. 参考资料

【1.数据采集ETL工具使用指南】

https://esdoc.bbossgroups.com/#/db-es-tool

【2.数据采集&流批一体化处理使用指南】

https://esdoc.bbossgroups.com/#/etl-metrics

【3.数据采集&流批一体化处理插件介绍】

https://esdoc.bbossgroups.com/#/datatran-plugins

【4.数据采集&流批一体化处理使用案例

https://esdoc.bbossgroups.com/#/bboss-datasyn-demo

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部