Ich möchte Xml-Dateien in avro konvertieren. Die Daten werden im XML-Format vorliegen und zuerst das Kafka-Thema treffen. Dann kann ich entweder runke oder spark-streaming verwenden, um xml nach avro zu importieren und zu konvertieren und die Dateien in hdfs zu landen. Ich habe eine Cloudera-Umgebung.Convert Xml zu Avro von Kafka zu hdfs über Funken Streaming oder Gerinne
Wenn die AVRO-Dateien hdfs treffen, möchte ich sie später in Hive-Tabellen lesen können.
Ich fragte mich, was ist die beste Methode, dies zu tun? Ich habe versucht, automatische Schema-Konvertierung wie Spark-Avro (das war ohne Funken-Streaming), aber das Problem ist Spark-Avro konvertiert die Daten, aber Bienenstock kann es nicht lesen. Spark avro konvertiert das XML in Dataframe und dann von Dataframe in Avro. Die Avro-Datei kann nur von meiner Spark-Anwendung gelesen werden. Ich bin mir nicht sicher, ob ich das richtig verwende.
Ich denke, ich muss ein explizites Schema für das Avro-Schema definieren. Ich bin mir nicht sicher, wie ich das für die XML-Datei angehen soll. Es hat mehrere Namespaces und ist ziemlich massiv.
Wissen Sie, ob Morphline xml lesen und dann in avro konvertieren kann? – Defcon
Morphline kann XML-Inhalte lesen und in Avro schreiben. Es gibt keinen direkten Konvertierungsbefehl für Ihren Anwendungsfall. Entweder können Sie nach Morphline-Nutzung recherchieren oder Sie planen einen map reduce/spark-Job, um jede Datei/jeden Datensatz zu lesen und in avro zu konvertieren. Morphline ist für die Batch-Nutzung und die Nutzung von Gerinnen jederzeit verfügbar. – Ramzy