是否有任何资源可以帮助我为Flume-ng的HTTPSource编写自定义处理程序。我阅读了文档并且有一个Json的示例处理程序,但我想知道是否有人需要编写一个处理程序来从XML消息体创建Flume事件。 HttpSource现在可以在Flume-ng 1.3.1中使用,但我们需要处理程序来解释我们的数据。
感谢。
答案 0 :(得分:2)
你看过JSONHandler source了吗? XMLHandler的唯一区别是使用一些XML反序列化器而不是Gson。
您只需要转换类似的内容:
<dataList>
<data>
...
</data>
<data>
...
</data>
</dataList>
到列表&lt; SimpleEvent&gt; (或者引入您自己的HTTPEvent,如Flume开发人员对JSONEvent所做的那样,如果您需要处理不同的编码)。这些活动的正文将<data>..</data>
块包含为byte representation of String。
我不建议在Flume中实现解析这些事件的任何其他业务逻辑,因为业务规则往往会发生变化,而Flume作为基础架构软件应该是稳定的。
最后,将代码打包到jar中,将此jar放入Flume的lib目录(在Cloudera的rpm分发情况下为/ usr / lib / flume-ng / lib),在HTTPSource的flume.conf“handler”属性中指定为“com.vicky.flume.source.http.XMLHandler”(或类似的东西),重新启动代理,就是这样。
希望这会有所帮助。很乐意回答你的问题。