相信大家对Flume都已经很了解,Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。其架构多为Source、Channel、Sink的结构和模型,如图所示。
Flume拦截器(Interceptor)是设置在source和channel之间,数据接收到Source后,当数据进入到Channel之前,拦截器都可以对这些数据做事件拦截,根据不同的拦截器对事件进行不同的操作。
请注意,拦截器构建器将传递给类型config参数。拦截器本身是可配置的,可以传递配置值,就像传递给任何其他可配置组件一样。在上面的示例中,事件首先传递给HostInterceptor,然后HostInterceptor返回的事件传递给TimestampInterceptor。您可以指定完全限定的类名(FQCN)或别名时间戳。如果您有多个收集器写入相同的HDFS路径,那么您也可以使用HostInterceptor。
下边就给大家举例一些常见的拦截器:
时间戳拦截器
主机名拦截器
UUID拦截器
正则过滤拦截器
查询替换拦截器
正则抽取拦截器
领取专属 10元无门槛券
私享最新 技术干货