У меня есть коллекция файлов данных CSV в S3, которые представляют 7-летние записи для некоторых ключевых статистических данных для бизнеса, для которого я выполняю некоторое сопоставление и сопоставление данных при переходе на RDS. Конечная цель - создать единую сопоставленную таблицу в Aurora, к которой бизнес может выполнять запросы. Проблема заключается в том, что дополнительные точки данных были добавлены в более поздние файлы в виде новых столбцов в середине схемы CSV.
Мне удалось создать схему, которая точно представляет порядок данных, с помощью программы Glue Crawler. Однако, когда я запускаю автоматически сгенерированное задание склеивания, сгенерированная таблица в моей базе данных не то, что я ищу.
Схема самых последних файлов - это та, которую я хочу применить ко всей таблице, и новые столбцы были добавлены в середине схемы, а не в конце, как Glue хочет их интерпретировать. , Например, в схеме самых последних файлов столбцы 25, 26 и 31 из 41 общего количества столбцов являются новыми. Только самые последние файлы имеют данные для этих столбцов. Я хочу, чтобы эти столбцы были нулевыми для наборов данных, у которых нет этого столбца в их исходных схемах. Однако происходит то, что для более старых наборов данных вместо значений NULL значения следующих столбцов сдвигаются, чтобы заполнить пробел, а значения NULL ставятся в конце таблицы.
Это скинуть все записи, которые старше последней схемы. Я полагаю, что мне нужно внести корректировку в автоматически сгенерированное задание ETL, но я не уверен, с чего начать.