Я работаю над конвейером ETL, чтобы преобразовать файлы JSON в формат Parquet (стоимость хранения) с помощью пакетного задания AWS Glue, а затем запросить корзину S3 с файлами Parquet с помощью внешних таблиц RedShift.
Мое препятствие заключается в том, как обрабатывать несколько версий файлов Parquet, чтобы внешняя таблица запрашивала последнюю версию файла Parquet или заставляла AWS Glue перезаписывать файлы Parquet и всегда поддерживать последнюю версию.
--------------------------------------------------------------------------------------------------------------------
| Day | JSON (S3) | JSON Ver |Parquet (S3) | External Table Query Data |
--------------------------------------------------------------------------------------------------------------------
| 1 | temp.json | 1.0 |part-00000-9n83b353-c000.snappy.parquet| Count 1, includes Parquet i.e. 1.0 |
--------------------------------------------------------------------------------------------------------------------
| 2 | temp.json | 2.0 |part-00000-7s34s653-c000.snappy.parquet| Count 2, includes both version, Parquet 1.0 & 2.0|
--------------------------------------------------------------------------------------------------------------------
Как услуга, S3-AWSGlue-Redshift Spectrum соответствует моему сценарию реализации, но хотел бы получить рекомендацию о том, как справиться с проблемой управления версиями.