Как заставить сканер обновить определенную таблицу? - PullRequest
0 голосов
/ 02 ноября 2019

В настоящее время я отправляю записи журнала через поток доставки пожарных шлангов, который форматирует записи для паркета, используя таблицу, определенную в моем каталоге клея для схемы файла паркета. Давайте назовем эту таблицу log_table. Отформатированные записи затем сохраняются в корзине S3.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь сканировать данные, найденные в корзинах s3, вместо обновления log_table, он создает новыйтаблица с именем log_table_<some random string>. Как заставить сканер обновить эту конкретную таблицу?

Во многих публикациях здесь рассказывается о настройке определенных свойств для сканера, связанных с объединением связанных схем, использовании пользовательских классификаторов и даже установке свойства таблицы склейки на UPDATED_BY_CRAWLER но ни один из них, похоже, не работает.

В настоящее время поток доставки, таблица склеивания, сканер клея создаются с помощью Cloudformation.

Преобразование формата потока доставки настраивается следующим образом.

DataFormatConversionConfiguration: Enabled: True InputFormatConfiguration: Deserializer: OpenXJsonSerDe: CaseInsensitive: True OutputFormatConfiguration: Serializer: ParquetSerDe: Compression: SNAPPY SchemaConfiguration: CatalogId: !Ref AWS::AccountId RoleARN: !GetAtt DeliveryStreamRole.Arn DatabaseName: !Ref GlueDatabase TableName: !Ref TransactionLogsTable Region: !Ref AWS::Region VersionId: LATEST

Искатель создается с настройками по умолчанию (имя, роль, цель s3 и т. Д.). Аналогичнодля таблицы склеивания.

Я хочу, чтобы сканер обновил log_table, который я использовал, чтобы сообщить моему потоку доставки, какой должна быть схема файла паркета.

...