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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章