2015-08-23 2 views
1

Я пытаюсь построить Apache Spark из модифицированного источника с помощью sbt. На самом деле я сделал несколько изменений в искровом ядре, все остальные модули остались нетронутыми. Тем не менее, каждый раз, когда я создаю искру, используя командуsbt - Building Spark занимает слишком много времени

sbt/sbt assembly 

он скомпилирует и разрешит все зависимости снова. Приложение, которое я запускаю с использованием модифицированного источника Spark, также использует только функциональность ядра Spark, ничего необычного. Есть ли способ, чтобы искра перекомпилировала только измененные, зависящие от хранилища зависимости в кеше или любым другим способом, если бы это было важно, могло бы ускорить процесс сборки банки.

ответ

2

Для компиляции Spark во время разработки вы можете сделать несколько вещей, чтобы ускорить работу. Один из них запускается sbt/sbt, а затем вы можете сделать команду assembly в оболочке sbt. Вы можете сохранить одну и ту же оболочку sbt, если вы не измените build/deps (в этом случае вам нужно будет сделать reload). Другой, пока вы разрабатываете, вы можете использовать compile или даже просто core/compile, если вы только меняете ядро, чтобы скомпилировать Spark (конечно, вам все равно нужна сборка, чтобы делать что-то вроде использования оболочки). Другим вариантом будет использование maven с непрерывной компиляцией, как описано в http://spark.apache.org/docs/latest/building-spark.html. Надеюсь, что это поможет и удачи :)

+0

И я догадываюсь пропустить тесты, которые запускаются до того, как пакет Spark будет ускорен. Любая идея, как я могу это сделать? –

+0

-Dskiptests с maven (см. Ссылку в моем ответе для большего количества флагов, которые вы, возможно, захотите посмотреть) – Holden

Смежные вопросы