flume-TailSource分析

本文详细分析了Flume的TailSource,解释了其作为Unix tail工具的类似功能,如何处理文件数据,以及在文件轮转时的行为。TailSource通过Cursor管理文件,监控文件变化,并通过readAllFromChannel和extractLines方法按行分割数据。在文件轮转时,TailSource会进行一系列判断以确保正确跟踪新的文件内容。
摘要由CSDN通过智能技术生成
TailSource
首先看一下tail这种source的使用接口,下面是flume-0.9.4的文档,
tail("filename"[, startFromEnd=false]{,delim="regex", delimMode="exclude|prev|next"}) :: Similar to Unix’s tail utility. One line is one event. Generates events for the entire file then stays open for more data, and follows filename. (e.g. if tailing file "foo" and then "foo" is moved to "bar" and a new file appears named "foo", it will finish reading the new "bar" file and then start from the beginning of "foo"). If the startFromEnd parameter is false, tail will re-read from the beginning of the file. If it is true, it will only start reading from the current end of file. If the last line of a file does not end with a newline character (\n), the tail source will only send an event with this last line when the tail is closed. See the section on tailing a file for details on delim and delimMode.

我们可以看出它最多可以由四个参数,最少要设置一个。
下面是TailSource的源码分析,首先看一下TailSource这个类的结构,它继承自EventSource.Base
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值