Le déclenchement de l'étincelle d'emplois avec le RESTE
J'ai été de la fin de l'essayer apache spark. Ma question est plus spécifique pour déclencher l'étincelle de l'emploi. Ici J'avais posté la question sur la compréhension de l'étincelle de l'emploi. Après l'obtention sale sur les emplois, je suis passée à mon exigence.
J'ai un RESTE de point de fin, où j'expose API pour déclencher des Emplois, j'ai utilisé Spring4.0 pour le Repos de mise en Œuvre. Maintenant aller de l'avant, j'ai pensé à la mise en œuvre des Emplois de Service au Printemps où je voudrais soumettre par programme de Travail, sens lorsque le point de terminaison est déclenchée, avec des paramètres donnés, je voudrais déclencher le travail.
J'ai maintenant quelques options de conception.
-
Similaire à ci-dessous d'emploi écrite, j'ai besoin de maintenir un certain nombre d'Emplois appelé par une Classe Abstraite peut être
JobScheduler
./*Can this Code be abstracted from the application and written as as a seperate job. Because my understanding is that the Application code itself has to have the addJars embedded which internally sparkContext takes care.*/ SparkConf sparkConf = new SparkConf().setAppName("MyApp").setJars( new String[] { "/path/to/jar/submit/cluster" }) .setMaster("/url/of/master/node"); sparkConf.setSparkHome("/path/to/spark/"); sparkConf.set("spark.scheduler.mode", "FAIR"); JavaSparkContext sc = new JavaSparkContext(sparkConf); sc.setLocalProperty("spark.scheduler.pool", "test"); //Application with Algorithm , transformations
-
s'étendant au-dessus du point d'avoir plusieurs versions d'emploi gérées par le service.
-
Ou d'utiliser une Étincelle d'Emploi de Serveur pour ce faire.
Tout d'abord, je voudrais savoir quelle est la meilleure solution dans ce cas, l'exécution sage et aussi mise à l'échelle sage.
Note : je suis autonome à l'aide d'un cluster à partir de l'étincelle.
aide gentiment.
- J'ai ajouté le Printemps pour Apache Hadoop balise à cette question. Spring Batch Admin fournit une API REST pour la gestion et le lancement de travaux et je crois que le Printemps pour Apache Hadoop fournit la capacité de lancer des Étincelles emploi de Spring Batch...
- merci pour la suggestion, je vais certainement regarder.
Vous devez vous connecter pour publier un commentaire.
Suffit d'utiliser l'Étincelle JobServer
https://github.com/spark-jobserver/spark-jobserver
Il y a beaucoup de choses à prendre en considération à la confection d'un service, et l'Étincelle JobServer a la plupart d'entre eux déjà couvertes. Si vous trouvez des choses qui ne sont pas assez bonnes, il devrait être facile de faire une demande et d'ajouter du code à leur système plutôt que de le réinventer à partir de zéro
Il s'avère que l'Étincelle a caché API REST pour soumettre un travail d'impression, vérifier l'état et le tuer.
Découvrez exemple complet ici: http://arturmkrtchyan.com/apache-spark-hidden-rest-api
Tite-live est un open source RESTE de l'interface pour interagir avec Apache Spark à partir de n'importe où. Il prend en charge l'exécution des bouts de code ou de programmes dans une Étincelle contexte qui s'exécute localement ou dans Apache Hadoop YARN.
Ici est un bon client que vous pourriez trouver utiles: https://github.com/ywilkof/spark-jobs-rest-client
Edit: cette réponse a été donnée en 2015. Il y a des options comme tite-Live actuellement disponible.