为flume ng编写自定义httpsource处理程序

8xiog9wr  于 2021-06-03  发布在  Flume
关注(0)|答案(1)|浏览(347)

有什么资源可以帮助我为flume ng编写httpsource的定制处理程序吗。我阅读了文档,这里有一个json的示例处理程序,但是我想知道是否有人需要编写一个处理程序来从xml消息体创建flume事件。httpsource现在可以在flume ng1.3.1中使用,但是我们需要处理程序来解释我们的数据。
谢谢。

q9rjltbz

q9rjltbz1#

你看过jsonhandler的源代码了吗?xmlhandler的唯一区别是使用一些xml反序列化程序而不是gson。
您只需要转换如下内容:

<dataList>
  <data>
     ...
  </data>
  <data>
     ...
  </data>      
</dataList>

进入list(或者引入您自己的httpevent,如flume开发人员使用jsonevent所做的那样,如果您需要处理不同的编码)。这些活动的主体将包含您的 <data>..</data> 作为字符串字节表示的块。
我不建议在flume中实现解析这些事件的任何附加业务逻辑,因为业务规则往往会经常更改,而flume作为基础设施软件应该是稳定的。
最后,将代码打包到jar中,将这个jar放入flume的lib目录(/usr/lib/flume ng/lib,如果是cloudera的rpm发行版),在flume.conf中指定httpsource的“handler”属性为“com.vicky.flume.source.http.xmlhandler”(或类似的内容),重新启动代理,就这样。
希望这有帮助。我很乐意回答你的问题。

相关问题