Из-за ошибки пользователя наш каталог S3, в котором обычно работал сканер Glue, был залит файлами .csv. Когда Glue запускал каталог S3, он создавал таблицу для каждого из 200 000+ CSV-файлов. Вскоре после этого я запустил скрипт, который удалил файлы .csv (в корзине S3 включено управление версиями), и заново запустил сканер Glue со следующими настройками:
Schema updates in the data store Update the table definition in the data catalog.
Inherit schema from table Update all new and existing partitions with metadata from the table.
Object deletion in the data store Delete tables and partitions from the data catalog.
В журналах cloudwatch - это обновление таблиц сопоставление оставшихся данных, но оно не удаляет таблицы, сгенерированные из этих файлов .csv. В соответствии с его журналом конфигурации в Cloudwatch - он должен это делать.
INFO : Crawler configured with Configuration
{
"Version": 1,
"Grouping": {
"TableGroupingPolicy": "CombineCompatibleSchemas"
}
}
and SchemaChangePolicy
{
"UpdateBehavior": "UPDATE_IN_DATABASE",
"DeleteBehavior": "DELETE_FROM_DATABASE"
Я должен указать, что существует другой сканер, который настроен для сканирования по корзине S3, но он не был запущен в течение более год, поэтому я сомневаюсь, что это может быть точкой конфликта.
Я зашла в тупик, в чем может быть проблема; в его нынешнем виде я могу написать сценарий для сопоставления с образцом существующих таблиц и удалить таблицы с csv в названии или удалить и перестроить базу данных, используя Glue для повторного сканирования S3, но если это возможно, я бы предпочел, чтобы Glue отбрасывал таблицы после идентификации они указывают на отсутствие файлов в самой S3.