我想把xml文件转换成avro。数据将采用xml格式,并将首先触及Kafka主题。然后,我可以使用flume或spark streaming接收xml并将其转换为avro,然后将文件放到hdfs中。我有一个云时代的环境。
当avro文件命中hdfs时,我希望以后能够将它们读入配置单元表。
我想知道做这件事最好的方法是什么?我尝试过自动模式转换,比如spark-avro(这没有spark流),但问题是spark-avro转换数据,但是hive无法读取数据。spark avro将xml转换为dataframe,然后从dataframe转换为avro。avro文件只能由我的spark应用程序读取。我不确定我是否正确使用了这个。
我想我需要为avro模式定义一个显式模式。不知道如何处理xml文件。它有多个名称空间,而且相当庞大。
1条答案
按热度按时间djp7away1#
如果你在cloudera上(既然你有flume,也许你有),你可以使用morphline在记录级别进行转换。您可以使用批处理/流式处理。你可以在这里看到更多信息。