AWS Glue создает сценарии ETL для преобразования, сглаживания и обогащения данных. Код создается на Scala или Python и написан для Apache Spark.

Мой вопрос касается переносимости этих скриптов. Могу ли я использовать одни и те же сценарии (созданные AWS Glue) для Apache Spark в других (не AWS / EMR) кластерах Apache Spark без изменений, или эти сценарии тесно связаны с реализацией AWS Glue Apache Spark?

0
alexanoid 18 Сен 2018 в 18:06

2 ответа

Лучший ответ

Сгенерированные скрипты как на Scala, так и на Python зависят от GlueContext и других объектов Glue lib. AFAIK Glue run среда недоступна за пределами Glue.

Я думаю, что разумным подходом является использование Glue в качестве абстракции над оборудованием, на котором вы запускаете Spark, и написание ваших скриптов независимо от Glue (в конце концов, GlueContext и DynamicFrame не обеспечивают такой большой функциональности). Затем вы можете запускать свой код где угодно.

2
botchniaque 18 Сен 2018 в 16:10

Мы используем два файла для каждого задания склеивания: job_glue.py и job_pyspark.py. Сохраните специальный код для склеивания в job_glue.py и код без привязки в job_pyspark.py. Это не только помогает запускать один и тот же код в Glue и EMR, но также позволяет выполнять модульное тестирование pyspark-кода, поскольку в настоящее время макеты Glue недоступны. Подход, основанный на тестировании, намного быстрее и экономичнее по сравнению с использованием конечной точки разработчика и ноутбука zeppelin.

1
Sandeep Fatangare 26 Дек 2018 в 04:07