Повторное использование сеанса Spark в нескольких заданиях Spark - PullRequest
2 голосов
/ 15 апреля 2019

У меня есть около 10 заданий Spark, каждое из которых выполняет некоторые преобразования и загружает данные в базу данных. Сеанс Spark должен быть открыт индивидуально для каждого задания и закрыт, и каждый раз, когда инициализация требует времени.

Можно ли создать сеанс Spark только один раз и повторно использовать его для нескольких заданий?

1 Ответ

2 голосов
/ 17 апреля 2019

Технически, если вы используете один сеанс Spark, вы в конечном итоге получите одно приложение Spark, потому что вам придется упаковывать и запускать несколько ETL (Extract, Transform и Load) в одном файле JAR.

Если вы выполняете эти задания в производственном кластере, скорее всего вы используете spark-submit для выполнения приложения jar, которое будет проходить этап инициализации при каждой отправке задания через Spark Master -> Рабочие в режиме client.

Как правило, длительный сеанс искры в основном подходит для создания прототипов, устранения неполадок и отладки, например, один сеанс искры можно использовать в spark-shell или в любой другой интерактивной среде разработки, например Zeppelin ; но не с spark-submit, насколько я знаю.

В общем, пара вопросов дизайна / бизнеса стоит рассмотреть здесь; Создает ли объединение нескольких заданий ETL код, который легко поддерживать, управлять и отлаживать? Обеспечивает ли это необходимый прирост производительности? Анализ рисков / затрат? и т.д.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...