Spark fil cluster vs client - comment choisir lequel utiliser?

L'étincelle docs ont le paragraphe suivant que desceibes la différence entre les fils de client et de fils de cluster:

Il y a deux déployer des modes qui peuvent être utilisés pour lancer des Étincelles applications sur le FILS. En mode cluster, l'Étincelle pilote s'exécute à l'intérieur d'une application de maîtriser le processus qui est géré par le FIL sur le cluster, et le client peut s'en aller après le lancement de l'application. En mode client, le pilote s'exécute dans le processus de client, et l'application de maître est utilisé uniquement pour demander des ressources à partir de FILS.

Je suppose il y a deux choix pour une raison. Si oui, comment voulez-vous choisir lequel utiliser?

Veuillez utiliser les faits pour justifier votre réponse, de sorte que cette question et une réponse(s) répond stackoverflow.

Il y a quelques questions similaires sur stackoverflow, toutefois, ces questions mettent l'accent sur la différence entre les deux approches, mais ne pas se concentrer sur quand on l'approche est plus adapté que les autres.

OriginalL'auteur Chris Snow | 2016-12-13