У меня есть куча файлов ORC в S3, которые разбиты по датам. Данные помещаются в папки с их датами в S3. Однако недавно к созданным файлам ORC были добавлены новые столбцы.
Другими словами, более старые файлы ORC могут иметь ColumnA, ColumnB, ColumnC
, тогда как более свежие файлы ORC (после определенной даты) имеют ColumnA, ColumnB, ColumnC, ColumnD, ColumnE
.
Из-за этого данные, которые просматривает Athena, могут содержать ошибки, в которых сообщается, что тип ColumnD
в ORC несовместим с типом в таблице Athena при запросе к нему.
- Могу ли я что-нибудь сделать в Glue или Athena, чтобы при сканировании он знал, что старые файлы ORC с отсутствующими
ColumnD
иColumnE
по умолчанию будут иметь значение null или любое другое значение, совместимое с типом, чтобы он не продолжал выдавать ошибку при запросе? - Если (1) невозможно, что еще я могу сделать, чтобы Athena работала с набором данных, схема которого изменяется по ходу дела?