Управление версиями файлов Parquet от AWS Glue для запросов к внешним таблицам с помощью Redshift Spectrum - PullRequest
1 голос
/ 06 марта 2019

Я работаю над конвейером 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 соответствует моему сценарию реализации, но хотел бы получить рекомендацию о том, как справиться с проблемой управления версиями.

...