如何使用flume将.txt文件中的XML数据转换为Avro格式并保存到hdfs

时间:2017-08-21 15:28:00

标签: xml avro flume

xml数据来自文本文件。 将他们的水槽和卡夫卡摄取到hdfs并以.txt文件格式保存。

退出用例: xml文件通过flume→kafka→flumeintercepter进行摄取(以验证有效模式) - >发送到.txt文件中保存的有效或无效的kafka tpoic→hdfs sink(有效和无效)

新的是:

我需要采用有效的kafka主题,需要编写自己的flume拦截器将xml数据转换为avro格式并发送到→hdfs sink(hdfs有效位置) 最终输出需要采用avro文件格式..

任何帮助将不胜感激

提前致谢...

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您可能有兴趣使用apache avro JAVA API将XML转换为AVRO -  http://avro.apache.org/docs/1.8.2/gettingstartedjava.html

转换后,您可以在您的水槽拦截器中使用此代码并编写AVRO文件,但您还需要具有可以从XSD架构创建的avro架构。

我在springxd流中做了类似的事情。

希望这有帮助