借的圖餐禁、美美搭
文章還沒寫好,哈哈哈跑芳。先別看喔--------------------
一轴总、flume自定義攔截器步驟如下
- 1)繼承接口:org.apache.flume.interceptor.Interceptor
- 2)實現(xiàn)接口中的4個抽象方法:
初始化 initialize()、單個事件攔截 intercept(Event event)博个、批量事件攔截 intercept(List<Event> events)怀樟、關閉io流 close()
- 3)創(chuàng)建一個靜態(tài)內(nèi)部類Builder,并實現(xiàn)接口
implements Interceptor.Builder
盆佣⊥ぃ【我們自定義的攔截器這個類,沒有辦法直接new共耍,而是在flume的配置文件中進行配置虑灰,通過配置文件調(diào)用靜態(tài)內(nèi)部類,來間接地調(diào)用自定義的攔截器對象痹兜。
】
攔截器是攔截一條一條的事件穆咐、啟動時會初始化,會存在數(shù)據(jù)流字旭,initialize開啟數(shù)據(jù)流对湃、close關閉數(shù)據(jù)流,event包括header+body
二遗淳、實現(xiàn)抽象方法 intercept(Event event)
public Event intercept(Event event) {
return null;
}
intercept(Event event)
是單個事件攔截拍柒,方法中的參數(shù)類型為Event ,該數(shù)據(jù)類型是一個接口屈暗,可以看這個接口里面有get和set方法拆讯,一般在流程處理時就使用getBody()脂男、getHeaders()
,getBody返回的是byte列表往果,getHeaders()返回的是map
Event接口類