Я работаю с AWS клеем и многими файлами на s3, новые файлы добавляются каждый день. Я пытаюсь создать и запустить сканер, чтобы вывести схему этих CSV-файлов. Вместо одной таблицы каталога данных со схемой программа-обходчик создает множество таблиц (даже при Создать отдельную схему для каждого выбранного пути S3 ), что означает, что программа-обходчик распознает разные схемы и не может объединить их в одну , Но мне нужна всего одна таблица в каталоге данных для всех этих файлов!
Итак, я создал отдельную таблицу каталога данных вручную, и когда я использую эту таблицу с заданием склеивания, ни один из файлов s3 csv не обрабатывается. Я полагаю, это потому, что каждый раз, когда сканер запускается, он проверяет наличие новых файлов и разделов (и в хорошем случае одной таблицы схем мы можем увидеть эти файлы и разделы, нажав кнопку Просмотреть разделы в таблицах).
Так что в здесь есть способ обновить созданную вручную таблицу с помощью искателя, я следовал за ним с надеждой, что сканер не изменит типы данных для выбранных столбцов, но обновит список файлы и разделы для последующей работы по склеиванию:
Возможно, вы захотите создать таблицы каталогов данных склеивания AWS вручную и затем обновлять их с помощью AWS сканеров склеивания. Сканеры, работающие по расписанию, могут добавлять новые разделы и обновлять таблицы с любыми изменениями схемы. Это также применимо к таблицам, перенесенным из метасторации Apache Hive.
Для этого при определении искателя вместо указания одного или нескольких хранилищ данных в качестве источника обхода вы указываете одна или несколько существующих таблиц каталога данных . Затем сканер сканирует хранилища данных, указанные в таблицах каталога. В этом случае новые таблицы не создаются; вместо этого ваши вручную созданные таблицы обновляются.
По какой-то причине этого не происходит, в журнале сканирования я вижу следующее:
INFO : Some files do not match the schema detected. Remove or exclude the following files from the crawler (truncated to first 200 files):
bucket1/customer/dt=2020-02-26/delta_20200226_080101.csv
INFO : Multiple tables are found under location bucket1/customer/. Table customer is skipped.
Но отсутствует опция «Исключить шаблоны», чтобы исключить этот файл, когда искатель использует существующую таблицу каталога данных, в документации сказано, что в этом случае «Затем сканер сканирует хранилища данных, указанные в таблицах каталога».
И сканер не добавляет разделы или файлы в мою таблицу.
Есть ли способ обновить созданную вручную таблицу новыми файлами из s3?