Консоль SBT против Spark-Shell для интерактивной разработки

Мне интересно, есть ли какие-либо важные различия между использованием консоли SBT и оболочкой Spark для интерактивной разработки нового кода для проекта Spark (ноутбуки на самом деле не вариант с брандмауэрами сервера).

  • Оба могут импортировать зависимости проекта, но для меня SBT немного удобнее. SBT автоматически добавляет все зависимости в build.sbt, а spark-shell может использовать аргументы --jar, --packages и --repositories в командной строке.
  • SBT имеет удобную настройку initialCommands для автоматического запуска строк при запуске. Я использую это для инициализации SparkContext.

Есть ли другие?


person andrew    schedule 03.08.2018    source источник


Ответы (2)


Теоретически с SBT вам не нужно устанавливать сам SPARK.

Я использую блоки данных.

person thebluephantom    schedule 04.08.2018

По моему опыту, sbt вызывает внешние jar-файлы, а искровая оболочка вызывает серию импортов и контекстов. Я предпочитаю искровую оболочку, потому что она соответствует стандарту, которого необходимо придерживаться при создании сеанса отправки искры.

Для запуска кода в продакшене вам нужно встроить код в jar-файлы, вызывая их через spark submit. Чтобы собрать это, вам нужно упаковать его через sbt (проверка компиляции) и запустить вызов отправки отправки искры (проверка логики).

Вы можете разрабатывать с помощью любого инструмента, но вы должны кодировать так, как если бы у вас не было преимуществ sbt (вызов jar-файлов) и spark shell (вызов импорта и контекстов), потому что spark submit не работает.

person afeldman    schedule 05.08.2018
comment
На самом деле ты не отвечаешь на вопрос. - person thebluephantom; 07.08.2018