文本文件中的xml数据。将flume和kafka读入hdfs并以.txt文件格式保存。
退出用例:通过flume接收xml文件→Kafka→flumeintercepter(验证是否有效的模式)-->发送到有效或无效的kafka tpoic→hdfs接收器(有效和无效)保存在.txt文件中
新的是:
我需要采取有效的Kafka主题,并需要编写自己的flume拦截器,将xml数据转换为avro格式并发送到→hdfs接收器(hdfs有效位置)最终输出需要采用avro文件格式。。
任何帮助都将不胜感激
提前谢谢。。。
2条答案
按热度按时间vqlkdk9b1#
您可以使用apache截取器将数据转换为avro
看看这个
http://community.cloudera.com/t5/kite-sdk-includes-morphlines/morphline-command-to-parse-xml/m-p/9378
https://community.cloudera.com/t5/kite-sdk-includes-morphlines/flume-morphline-sink-to-hdfs/td-p/1787
希望有帮助:)
l7wslrjt2#
您可能对使用apache avro java api将xml转换为avro感兴趣-http://avro.apache.org/docs/1.8.2/gettingstartedjava.html
转换后,您可以在flume拦截器中使用此代码并编写avro文件,但是您还需要avro模式,您可以从xsd模式创建该模式。
我在springxd stream做了类似的事情。
希望这有帮助