flume自定义拦截器,步骤详解

借的图、美美搭

文章还没写好,哈哈哈。先别看喔--------------------

一、flume自定义拦截器步骤如下
  • 1)继承接口:org.apache.flume.interceptor.Interceptor
  • 2)实现接口中的4个抽象方法:初始化 initialize()、单个事件拦截 intercept(Event event)、批量事件拦截 intercept(List<Event> events)、关闭io流 close()
  • 3)创建一个静态内部类Builder,并实现接口implements Interceptor.Builder。【我们自定义的拦截器这个类,没有办法直接new,而是在flume的配置文件中进行配置,通过配置文件调用静态内部类,来间接地调用自定义的拦截器对象。

拦截器是拦截一条一条的事件、启动时会初始化,会存在数据流,initialize开启数据流、close关闭数据流,event包括header+body

二、实现抽象方法 intercept(Event event)

   public Event intercept(Event event) {

        return null;
    }

intercept(Event event)单个事件拦截,方法中的参数类型为Event ,该数据类型是一个接口,可以看这个接口里面有get和set方法,一般在流程处理时就使用getBody()、getHeaders(),getBody返回的是byte列表,getHeaders()返回的是map

Event接口类

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容