Документ закладки AWS Glue (https://docs.aws. amazon.com/glue/latest/dg/monitor-continuations.html) кажется, что для работы закладки необходимо передать параметр transformation_ctx
в операции источника, преобразования и поглощения. Это отражено в примере кода на этой странице, где вызов всех create_dynamic_frame.from_catalog()
, ApplyMapping.apply()
и write_dynamic_frame.from_options()
передается со значением transformation_ctx
.
Я понимаю смысл передачи такого метода transformation_ctx
в create_dynamic_frame.from_catalog()
, поскольку AWS Glue необходимо хранить информацию о файлах, которые были прочитаны в закладке под заданным ключом transformation_ctx
.
Однако я не понимаю, почему это также необходимо для таких методов, как ApplyMapping.apply()
и write_dynamic_frame.from_options()
. Другими словами, какую информацию о состоянии эти операции должны сохранять в закладке? Если я не передам transformation_ctx
этим методам, какие проблемы это вызовет?
1 ответ
У меня были те же сомнения по поводу закладок несколько месяцев назад (октябрь 2019 г.), и поскольку документация, предоставленная Amazon, не очень ясна, я открыл обращение в службу поддержки, чтобы больше узнать, как это реализовано.
В моей работе с клеем было:
- Функция чтения из S3 (glue_context.create_dynamic_frame.from_options)
- ResolveChoice.apply
- Функция записи в Redshift (glue_context.write_dynamic_frame.from_jdbc_conf)
Все эти операции имеют значение transform_ctx, я тестировал разные возможные варианты поведения (одинаковый transform_ctx для всех, разные фиксированные значения, динамические значения и т. Д.).
После многих сообщений с поддержкой AWS они подтверждают, что закладки работают только с функцией чтения (они также сказали, что в качестве источника используется только S3, но я не тестировал его), поэтому я спрашиваю, бесполезен ли transform_ctx в ResolveChoice (и функция записи тоже), и они сказали ДА! Они подтвердили, что это не имеет значения.
Кроме того, для функции записи она ничего не меняет, поэтому здесь нет логики закладок или «функции предотвращения», если она уже была запущена ранее.
Похожие вопросы
Связанные вопросы
Новые вопросы
amazon-web-services
Amazon Web Services (AWS) — это облачный сервис, предлагающий решения IaaS (инфраструктура как услуга) и SaaS (программное обеспечение как услуга). Только вопросы по программированию применительно к AWS относятся к теме. Общую справку по серверу можно получить по адресу https://serverfault.com. Тег AWS редко используется сам по себе и обычно используется с другими тегами, чтобы более четко определить тему вопроса.