Flume自定义组件(上篇)


在聊自定义组件前,先了解下Flume的事务。

Flume事务

在这里插入图片描述

自定义拦截器

案例: 自定义拦截器,将不同内容发往不同Channel,然后分发到不同的分析系统Flume2 和Flume3。

在这里插入图片描述

1.创建一个 maven 项目,并引入以下依赖。

<dependency>

 <groupId>org.apache.flume</groupId>

 <artifactId>flume-ng-core</artifactId>

 <version>1.7.0</version>

</dependency>

2.定义 CustomInterceptor 类并实现 Interceptor 接口。 打包后放入flume的lib目录

package com.xiaomao.flume;/**
 * CreateBy zxmao on  2020/9/30 0030 10:20
 */

import org.apache.flume.Context;
import org.apache.flume.Event;
import org.apache.flume.interceptor.Interceptor;

import java.util.List;

/**
 * Copyright (C) zhongda
 *
 * @author zx
 * @date 2020/9/30 0030 10:20
 * @description:
 */
public class CustomInteceptor implements Interceptor {
   
    public void initialize() {
   
    }

    public Event intercept(Event event) {
   
        //处理业务逻辑
        String body = new String(event.getBody());
        if(body.contains("xiaomao")){
   
            event.getHeaders().put("type","xiaomao");
        }else{
   
            event.getHeaders().put("type","other");
        }
        return event;
    }

    public List<Event> intercept(List<Event>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值