首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Flume-ng编写自定义HTTPSource处理程序

为Flume-ng编写自定义HTTPSource处理程序
EN

Stack Overflow用户
提问于 2013-01-11 17:31:22
回答 1查看 1.3K关注 0票数 2

有没有任何资源可以帮助我为Flume-ng编写一个自定义的HTTPSource处理程序。我阅读了文档,有一个用于Json的示例处理程序,但我想知道是否有人需要编写一个处理程序来从XML消息体创建Flume事件。HttpSource现在在Flume-ng 1.3.1中可用,但是我们需要处理程序来解释我们的数据。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-29 03:40:18

你看过JSONHandler source吗?XMLHandler的唯一区别是使用了一些XML反序列化程序,而不是Gson。

您只需要转换如下内容:

代码语言:javascript
复制
<dataList>
  <data>
     ...
  </data>
  <data>
     ...
  </data>      
</dataList>

添加到List[SimpleEvent](https://git-wip-us.apache.org/repos/asf?p=flume.git;a=blob;f=flume-ng-sdk/src/main/java/org/apache/flume/event/SimpleEvent.java;h=a7ac36fbe4d4d9e61752d3bf4cf66c96145f2911;hb=HEAD)中(或者引入您自己的HTTPEvent,如果您需要处理不同的编码,就像Flume开发人员对JSONEvent所做的那样)。这些事件的主体将包含您的byte representation of String形式的<data>..</data>块。

我不建议在Flume中实现解析这些事件的任何额外业务逻辑,因为业务规则往往经常更改,而作为基础设施软件的Flume应该是稳定的。

最后,将您的代码打包到jar中,将此jar放入flume的lib目录(在Cloudera发行版中为/usr/lib/flume-ng/lib),在HTTPSource的flume.conf "handler“属性中指定为"com.vicky.flume.source.http.XMLHandler”(或类似的内容),重新启动代理,然后就完成了所有的工作。

希望这能有所帮助。很乐意回答你的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14275153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档