Flume之自定义Source
1)介绍
Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数
据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、
http、legacy。官方提供的source类型已经很多,但是有时候并不能满足实际开发当中的需求,此时
我们就需要根据实际需求自定义某些source。
官方也提供了自定义source的接口:
< https://flume.apache.org/FlumeDeveloperGuide.html#source>根据官方说明自定义MySource需
要继承AbstractSource类并实现Configurable和PollableSource接口。
实现相应方法:
getBackOffSleepIncrement() //backoff 步长
getMaxBackOffSleepInterval()//backoff 最长时间
configure(Context context)//初始化context(读取配置文件内容)process()//获取数据封装成event
并写入channel,这个方法将被循环调用。
使用场景:读取MySQL数据或者其他文件系统。
2)需求
使用flume接收数据,并给每条数据添加前缀,输出到控制台。前缀可从flume配置文件中配置。
3)分析
4)编码
(1)导入pom依赖
<dependencies>