Comment définir le nombre d'exécuteurs Spark?
Comment pourrais-je configurer à partir de Java (ou Scala) code montant des exécuteurs avoir SparkConfig
et SparkContext
? Je vois constamment 2 exécuteurs testamentaires. Ressemble spark.default.parallelism
ne fonctionne pas et est à propos de quelque chose de différent.
J'ai juste besoin de fixer le montant des exécuteurs être égale à la taille de cluster, mais il y a toujours seulement 2 d'entre eux. Je sais que ma taille de cluster. Je lance sur le FIL si cela est important.
source d'informationauteur Roman Nikitchenko
Vous devez vous connecter pour publier un commentaire.
OK, l'a obtenu.
Nombre d'exécuteurs n'est en fait pas d'Étincelle à la propriété elle-même, mais plutôt le pilote utilisé à la place de l'emploi sur le FILS. Donc, comme je suis en utilisant SparkSubmit classe en tant que pilote et il a
--num-executors
paramètre qui est exactement ce dont j'ai besoin.Mise à JOUR:
Pour certains emplois, je ne suis pas
SparkSubmit
approche plus. Je ne peux pas le faire, principalement pour les applications où l'Étincelle de l'emploi n'est qu'un des composants de l'application (et est même en option). Pour ces cas-je utiliserspark-defaults.conf
attaché à la configuration du cluster etspark.executor.instances
de la propriété à l'intérieur. Cette approche est beaucoup plus universel, ce qui me permet d'équilibrer correctement les ressources en fonction de cluster (développeur de la station de travail, la mise en scène, production).Vous pouvez aussi le faire par programmation par le réglage des paramètres "étincelle.exécuteur testamentaire.les instances" et "l'étincelle.exécuteur testamentaire.les coeurs" sur le SparkConf objet.
Exemple:
Le deuxième paramètre est uniquement pour les FILS et mode autonome. Il permet à une application de s'exécuter plusieurs exécuteurs testamentaires sur le même travailleur, pour autant qu'il y a assez de cœurs de ce travailleur.