Как разделение работает с заданиями AWS Glue

#partitioning #aws-glue #aws-glue-spark

#разделение #aws-glue #aws-glue-spark

Вопрос:

Если у меня задание на склеивание выполняется каждый час, но разделяется по дням… какова ожидаемая функциональность? Будет ли задание сначала создавать раздел для этого дня, а затем последующие задания будут добавляться к этому разделу? Есть ли какая-либо документация, которая дает представление о том, как это будет работать?

Комментарии:

1. Я понял, что вы хотите понять, как Glue создает выходные разделы для ваших данных, но, на мой взгляд, не хватает дополнительного контекста, который мог бы точно помочь. Предполагая, что вы записываете в s3, раздел фактически является просто еще одним префиксом в корзине. Следовательно, если ваша работа имеет partitionKeys значение этого ключа раздела, он будет помещен в префикс с этим именем. По мере обработки новых дат будут создаваться новые префиксы. Подробнее here:docs.aws.amazon.com/glue/latest/dg /…

2. Спасибо, я спрашиваю, если я запускаю задание несколько раз в течение дня, и каждый раз при его запуске задается значение одного и того же ключа раздела, будет ли s3://my_bucket/logs/year=2018/month=01/day=23/ задание добавлять новый файл при каждом запуске в этот раздел? или задание будет добавлено к существующему файлу в этом разделе?

3. Таким образом, s3 является неизменяемым по своей природе, что означает, что объекты, которые вы пишете, не могут быть изменены, за исключением обновления метаданных и удаления объектов. Каждое задание создаст уникальные файлы (в зависимости от ваших выходных разделов) в префиксе. Glue основан на spark, поэтому поведение spark будет таким же, как и поведение Glue, за исключением случаев, когда при использовании динамических фреймов у нас нет возможности указать режимы сохранения.