多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
Flume中的拦截器是可以自定义的。思路如下: (1)实现Interceptor接口,并重新该接口的几个核心方法 ```java package com.flume.interceptor; import org.apache.flume.interceptor.Interceptor; // 实现Interceptor接口 public class MyInterceptor implements Interceptor { // 重写intercept(Event event)方法 public Event intercept(Event event) { byte[] body = event.getBody(); // 拿到body就可以按照需求来过滤数据了,最后返回一个新的Event return newEvent; } // 重写intercept(List<Event> events)方法 public LIst<Event> intercept(List<Event> events) { for (Event event : events) { intercept(event); // 调用上面的重载方法 } return newListEvent; } } ``` (2)将程序打包为jar上传到服务器的 {flume_home}/lib/ 目录下 (3)然后在配置文件中使用自定义的拦截器 ```conf agent.sources.s1.interceptors.il.type = com.flume.interceptor.MyInterceptor ```