如何使用水槽将身体中的数据分成不同的通道?

时间:2016-01-12 16:44:06

标签: java hadoop flume

我想使用水槽剂并根据定义的功能分割身体数据,并将身体数据的一部分发送到一个接收器,另一部分发送到另一个接收器。

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

1 个答案:

答案 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