У меня есть задание Spark (в CDH 5.5.1), которое загружает два файла Avro (оба с одной и той же схемой), объединяет их для создания DataFrame (также с той же схемой), а затем записывает их обратно в Avro.
Задание явно сравнивает две входные схемы, чтобы убедиться, что они одинаковы.
Это используется для объединения существующих данных с несколькими обновлениями (поскольку файлы неизменяемы). Затем я заменяю исходный файл новым комбинированным файлом, переименовывая их в HDFS.
Однако, если я повторю процесс обновления (т. е. попытаюсь добавить некоторые дополнительные обновления в ранее обновленный файл), задание завершится ошибкой, потому что схемы теперь другие! Что происходит?