Я хочу преобразовать файлы xml в формат avro. Данные будут в формате xml и сначала попадут в тему kafka. Затем я могу использовать поток или искровую потоковую передачу для приема и преобразования из xml в avro и размещения файлов в hdfs. У меня среда cloudera.
Когда файлы avro попадают в hdfs, я хочу иметь возможность читать их в таблицы кустов позже.
Мне было интересно, как лучше всего это сделать? Я пробовал автоматическое преобразование схемы, такое как spark-avro (это было без потоковой передачи искр), но проблема в том, что spark-avro преобразует данные, но hive не может их прочитать. Spark avro преобразует xml в фрейм данных, а затем из фрейма данных в avro. Файл avro может быть прочитан только моим искровым приложением. Я не уверен, правильно ли я это использую.
Я думаю, мне нужно будет определить явную схему для схемы avro. Не знаю, как это сделать для файла xml. Он имеет несколько пространств имен и довольно массивен.