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

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