Beste Übung zum Starten von Spark-Anwendungen über eine Webanwendung?

Ich möchte meine Spark-Anwendungen mit einer Webanwendung für die Benutzer verfügbar machen.

Grundsätzlich kann der Benutzer entscheiden, welche Aktion er ausführen möchte, und einige Variablen eingeben, die an die Spark-Anwendung übergeben werden müssen. Zum Beispiel: Der Benutzer gibt ein paar Felder ein und klickt dann auf eine Schaltfläche, die das folgende "run sparkApp1 mit den Parametern min_x, max_x, min_y, max_y ".

Die Funkenanwendung sollte mit den vom Benutzer angegebenen Parametern gestartet werden. Nach Abschluss des Vorgangs wird möglicherweise die Webanwendung benötigt, um die Ergebnisse (von hdfs oder mongodb) abzurufen und dem Benutzer anzuzeigen. Während der Verarbeitung sollte die Webanwendung den Status der Spark-Anwendung anzeigen.

Meine Frage

Wie kann die Webanwendung die Spark-Anwendung starten? Es ist möglicherweise in der Lage, es über die Befehlszeile unter der Haube zu starten, aber es gibt möglicherweise eine bessere Möglichkeit, dies zu tun.Wie kann die Webanwendung auf den aktuellen Status der Spark-Anwendung zugreifen? Ist das Abrufen des Status von der REST-API der Spark-WebUI der richtige Weg?

Ich führe einen Cluster aus Spark 1.6.1 mit YARN / Mesos (noch nicht sicher) und MongoDB aus.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage