AWS Glue Spark Job - Как сгруппировать входные файлы S3 при использовании CatalogSource? - PullRequest
1 голос
/ 20 июня 2019

AWS Glue Spark API поддерживает группирование нескольких небольших входных файлов (https://docs.aws.amazon.com/en_en/glue/latest/dg/grouping-input-files.html), что сокращает задачи и разделы.

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

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

Мы предполагаем, что это может быть достигнуто, когдачтение файлов в группах, как описано выше. Другим способом достижения этого является, в основном, перераспределение в (1), но это также будет крайне неэффективно.

Мы что-то упускаем? У кого-нибудь есть идеи, как добиться этого эффективно?В идеале мы могли бы указать приблизительный размер выходного файлаe (который должен работать при установке 'groupSize': '10000', если мы правильно понимаем спецификацию).

1 Ответ

0 голосов
/ 24 июня 2019

В соответствии с поддержкой AWS все свойства могут быть напрямую установлены на уровне таблицы Glue через консоль AWS.

a. Key= groupFiles , value= inPartitio b. Key=groupSize, value=1048576 c. Key=recurse, value=True

...