Java 如何使用flume将主体中的数据拆分为不同的通道?

Java 如何使用flume将主体中的数据拆分为不同的通道?,java,hadoop,flume,Java,Hadoop,Flume,我想使用flume代理,根据定义的函数分割主体数据,并将主体数据的一部分发送到一个接收器,另一部分发送到另一个接收器 我是否需要为此实现自定义拦截器,或者是否有我错过阅读Flume用户指南的默认解决方案?是的,您必须编写自定义拦截器 您可以使用拦截器的截取方法,并根据您的函数分割每个事件的主体。稍后,您可以为主体的特定部分指定一个有意义的标头,该标头可用作水槽扇出流的重定向或通道选择器参数 代码准备就绪后,可以在flumeconf文件中添加以下属性并实现多路复用- 多路复用选择器的映射: Age

我想使用flume代理,根据定义的函数分割主体数据,并将主体数据的一部分发送到一个接收器,另一部分发送到另一个接收器


我是否需要为此实现自定义拦截器,或者是否有我错过阅读Flume用户指南的默认解决方案?

是的,您必须编写自定义拦截器

您可以使用拦截器的截取方法,并根据您的函数分割每个事件的主体。稍后,您可以为主体的特定部分指定一个有意义的标头,该标头可用作水槽扇出流的重定向或通道选择器参数

代码准备就绪后,可以在flume
conf
文件中添加以下属性并实现多路复用-

多路复用选择器的映射:

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