Нам все еще нужно делать толстую банку для отправки заданий в Spark 2.0.0?

В примечании выпуска Spark 2.0.0 говорится: что:

Spark 2.0 больше не требует толстой сборки jar для производственного развертывания.

  • Означает ли это, что нам больше не нужно делать толстую банку для отправки заданий?

  • Если да, то как? Таким образом, документация здесь не актуальна.


person Jitsumi    schedule 10.08.2016    source источник


Ответы (1)


Означает ли это, что нам больше не нужно делать толстую банку для отправки заданий?

К сожалению нет. Вам все еще нужно создать Uber JAR для развертывания Sparks.

Название в примечаниях к выпуску очень вводит в заблуждение. Фактический смысл заключается в том, что сам Spark как зависимость больше не компилируется в убер JAR, а действует как обычный JAR приложения с зависимостями. Вы можете увидеть это более подробно @ SPARK-11157, который называется "Разрешить Spark быть построен без сборок», и прочитайте документ под названием "Замена сборки Spark со старыми добрыми jar-файлами", в котором описываются плюсы и минусы развертывания Spark не в виде нескольких огромных JAR-файлов (Core, Streaming, SQL и т. д.), а в виде нескольких JAR-файлов относительно обычного размера, содержащих код и каталог lib/ с все связанные зависимости.

Если вам действительно нужны подробности, этот запрос на включение затрагивает несколько ключевых частей.

person Yuval Itzchakov    schedule 10.08.2016
comment
Я прочитал ваш ответ, как 10 раз. Я также прочитал ссылки, которые вы предоставили. Можете ли вы четко указать причину, по которой я должен создать толстую банку? Что, если я не буду, каковы потенциальные проблемы, если просто указать предоставленную область для всех искровых зависимостей? - person MaxNevermind; 22.02.2018
comment
@MaxNevermind Если вы этого не сделаете и отправите только свой скомпилированный код, кто предоставит сторонние зависимости? Во время выполнения ваше приложение взорвется с ошибкой ClassNotFoundException. - person Yuval Itzchakov; 22.02.2018
comment
Я задал неправильный вопрос. Что, если я сделаю толстую банку, но укажу предоставленную область для всех зависимостей искры, потому что они в любом случае предоставляются средой? Таким образом, сторонние зависимости, которые использует мое приложение, но не Spark, будут упакованы в толстую банку. - person MaxNevermind; 22.02.2018
comment
Или может я неправильно понимаю всю ситуацию. Требуется ли, чтобы Spark был упакован как зависимость в толстой банке или нет? Это вопрос, на который я действительно пытаюсь найти ответ. - person MaxNevermind; 22.02.2018