public class GmallFlumeInterceptor implements Interceptor {
@Override
public void initialize() {
}
@Override
public Event intercept(Event event) {
byte[] body = event.getBody();
String log = new String(body, StandardCharsets.UTF_8);
if (JSONUtil.isJson(log)){
return event;
}else{
return null;
}
}
@Override
public List<Event> intercept(List<Event> list) {
list.removeIf(event -> intercept(event) == null);
return list;
}
public static class Builder implements Interceptor.Builder{
@Override
public Interceptor build() {
return new GmallFlumeInterceptor();
}
@Override
public void configure(Context context) {
}
}
@Override
public void close() {
}
}
Flume Interceptor
最新推荐文章于 2024-09-29 08:32:38 发布
该博客介绍了GmallFlumeInterceptor类的实现,该类作为拦截器用于检查事件中的数据是否为JSON格式。如果数据是有效的JSON,事件将被保留,否则将被过滤掉。intercept方法对单个事件进行处理,而intercept方法则处理事件列表,移除非JSON格式的事件。此外,还提供了一个Builder类用于构建拦截器实例。
摘要由CSDN通过智能技术生成