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

h6my8fg2  于 2021-06-04  发布在  Flume
关注(0)|答案(2)|浏览(457)

文本文件中的xml数据。将flume和kafka读入hdfs并以.txt文件格式保存。
退出用例:通过flume接收xml文件→Kafka→flumeintercepter(验证是否有效的模式)-->发送到有效或无效的kafka tpoic→hdfs接收器(有效和无效)保存在.txt文件中
新的是:
我需要采取有效的Kafka主题,并需要编写自己的flume拦截器,将xml数据转换为avro格式并发送到→hdfs接收器(hdfs有效位置)最终输出需要采用avro文件格式。。
任何帮助都将不胜感激
提前谢谢。。。

vqlkdk9b

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
希望有帮助:)

l7wslrjt

l7wslrjt2#

您可能对使用apache avro java api将xml转换为avro感兴趣-http://avro.apache.org/docs/1.8.2/gettingstartedjava.html
转换后,您可以在flume拦截器中使用此代码并编写avro文件,但是您还需要avro模式,您可以从xsd模式创建该模式。
我在springxd stream做了类似的事情。
希望这有帮助

相关问题