Могу ли я запустить спарк 2.0.* Артефакт на спарк 2.2.* Автономный кластер?
Мне известно о том, что с изменением основной версии spark (то есть с 1.* на 2.*) произойдут сбои времени компиляции из-за изменений в существующих API.
Насколько мне известно, искра гарантирует, что при незначительном обновлении версии (т.е. с 2.0.* До 2.2.*) Изменения будут обратно совместимы.
Хотя это исключит возможность сбоев во время компиляции при обновлении, можно ли с уверенностью предположить, что при запуске не возникнет и сбоев во время выполнения, если отправить задание в автономный кластер spark 2.2.* С использованием созданного артефакта (jar) используя 2.0.* зависимости?
1 ответ
Можно ли предположить, что не будет сбоя во время выполнения, если отправить задание в кластере 2.2.* с использованием артефакта (jar), созданного с использованием зависимостей 2.0. *?
Да.
Я бы даже сказал, что нет концепции кластера Spark, если мы не поговорим о встроенном кластере Spark.
Другими словами, вы развертываете приложение Spark в кластер, например, Hadoop YARN или Apache Mesos, в качестве jar-приложения, которое может содержать или не содержать jar-файлы Spark и, таким образом, игнорирует то, что уже доступно в среде.
Однако, если вы думаете о Spark Standalone, между выпусками, даже между 2.0 и 2.2, возможно, что-то сломалось, поскольку файлы jar в вашем приложении Spark должны быть совместимы с jar-файлами на JVM работников Spark (они уже предварительно загружены).
Я бы не стал требовать полной совместимости между выпусками Spark Standalone.