xml数据来自文本文件。 将他们的水槽和卡夫卡摄取到hdfs并以.txt文件格式保存。
退出用例: xml文件通过flume→kafka→flumeintercepter进行摄取(以验证有效模式) - >发送到.txt文件中保存的有效或无效的kafka tpoic→hdfs sink(有效和无效)
新的是:
我需要采用有效的kafka主题,需要编写自己的flume拦截器将xml数据转换为avro格式并发送到→hdfs sink(hdfs有效位置) 最终输出需要采用avro文件格式..
任何帮助将不胜感激
提前致谢...
答案 0 :(得分:0)
您可以使用apache kite morphlines拦截器将您的数据转换为avro
看看这个
我希望它有所帮助:)
答案 1 :(得分:0)
您可能有兴趣使用apache avro JAVA API将XML转换为AVRO - http://avro.apache.org/docs/1.8.2/gettingstartedjava.html
转换后,您可以在您的水槽拦截器中使用此代码并编写AVRO文件,但您还需要具有可以从XSD架构创建的avro架构。
我在springxd流中做了类似的事情。
希望这有帮助