Лучшая практика для запуска Spark Applications через веб-приложение?

Я хочу представить свои приложения Spark пользователям с помощью веб-приложения.

По сути, пользователь может решить, какое действие он хочет выполнить, и ввести несколько переменных, которые необходимо передать в приложение spark. Например: пользователь вводит несколько полей, а затем нажимает на кнопку, которая выполняет следующее «запуститьsparkApp1 с параметром min_x, max_x, min_y, max_y ".

Приложение spark должно быть запущено с параметрами, указанными пользователем. После завершения веб-приложение может потребоваться для получения результатов (из hdfs или mongodb) и отображения их пользователю. Во время обработки веб-приложение должно отображать состояние приложения Spark.

Мой вопрос:

Как веб-приложение может запустить приложение Spark? Он может быть в состоянии запустить его из командной строки под капотом, но может быть лучший способ сделать это.Как веб-приложение может получить доступ к текущему состоянию приложения Spark? Идет ли получение статуса из REST API Spark WebUI?

Я использую кластер Spark 1.6.1 с YARN / Mesos (пока не уверен) и MongoDB.