Мы изучали использование Glue для преобразования некоторых данных JSON в паркет.Один из сценариев, который мы попробовали, - добавление столбца в паркетный столТаким образом, раздел 1 имеет столбцы [A], а раздел 2 имеет столбцы [A, B].Затем мы хотели написать дополнительные задания Glue ETL для агрегирования таблицы паркета, но новый столбец был недоступен.Используя glue_context.create_dynamic_frame.from_catalog
для загрузки динамического кадра, наш новый столбец никогда не входил в схему.
Мы попробовали несколько конфигураций для нашего сканера таблиц.Использование единой схемы для всех разделов, единой схемы для пути s3, схемы для каждого раздела.Мы всегда могли видеть новый столбец в данных таблицы Glue, но он всегда был нулевым, если мы запрашивали его из задания Glue с помощью pyspark.Колонка была в паркете, когда мы загрузили некоторые образцы и стали доступны для запросов через Athena.
Почему новые колонки недоступны для pyspark?