写点什么

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

作者:大河
  • 2024-02-06
    湖南
  • 本文字数:1285 字

    阅读完需:约 4 分钟

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

在使用大数据流批一体化技术加工处理数据时,经常需要过滤掉一些无效或者垃圾数据,本文简单介绍 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

用户头像

大河

关注

开源项目bboss作者 2022-08-15 加入

https://www.bbossgroups.com

评论

发布
暂无评论
流批一体化数据加工处理之记录过滤_大河_InfoQ写作社区