我想使用水槽剂并根据定义的功能分割身体数据,并将身体数据的一部分发送到一个接收器,另一部分发送到另一个接收器。
我是否需要为此实现自定义拦截器,或者是否有我错过阅读Flume用户指南的默认解决方案?
答案 0 :(得分:-1)
是的,你必须编写一个自定义拦截器。
您可以使用Interceptor的拦截方法并根据您的功能拆分每个事件的主体。稍后你可以为身体的特定部分分配一个有意义的标题,可以用作水槽扇出流的重定向或通道选择器参数。
准备好代码后,您可以在youme conf
文件中添加以下属性并实现Multiplexing -
多路复用选择器的映射:
Agent.sources.Source1.selector.type = multiplexing
Agent.sources.Source1.selector.header = someHeader
Agent.sources.Source1.selector.mapping.Value = Channel1
Agent.sources.Source1.selector.mapping.Value2 = Channel1 Channel2
Agent.sources.Source1.selector.mapping.Value3 = Channel2