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

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

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

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

2 ответа

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

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

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

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

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

Другие вопросы по тегам