Étincelle de Transformation - Pourquoi son paresseux et quel est l'avantage?
Spark Transformations
sont paresseusement évalué - lorsque nous appelons l'action qu'il exécute toutes les transformations basées sur la lignée graphique.
Quel est l'avantage d'avoir les Transformations Lazilyy évalué?
Peut-elle améliorer la performance
et moins de quantité de memory consumption
comparer avec impatience évalué?
Est-il un inconvénient d'avoir la Transformation paresseusement évalué?
Vous devez vous connecter pour publier un commentaire.
Pour les transformations, l'Étincelle de les ajouter à un groupe de disponibilité de calcul et seulement lorsque le pilote demande des données, cette DAG obtient réellement exécutées.
Un avantage de cela est que l'Étincelle peut faire beaucoup de l'optimisation des décisions après qu'il a eu la chance de voir le groupe en entier. Ce ne serait pas possible si il a exécuté tout dès qu'il l'a obtenu.
Par exemple, si vous avez exécuté chaque transformation avec impatience, ça veut dire quoi? Eh bien, cela signifie que vous aurez à se matérialiser que de nombreux intermédiaires données en mémoire. Ce n'est évidemment pas efficace, d'une part, il permettra d'augmenter votre GC coûts. (Parce que vous n'êtes pas vraiment intéressé à ces résultats intermédiaires en tant que tel. Ce sont juste des convnient abstractions pour vous lors de l'écriture du programme.) Donc, ce que vous faites plutôt est-à-dire l'Étincelle qu'est-ce que l'éventuelle réponse que vous êtes intéressé et il détermine la meilleure façon d'y arriver.
Envisager un 1 GO de fichier journal dans lequel vous avez d'erreur,d'avertissement et les messages d'informations et il est présent dans HDFS que des blocs de 64 ou 128 MO(n'a pas d'importance dans ce contexte).Vous créez d'abord un RDD appelé "entrée" de ce fichier texte. Ensuite,vous créez un autre RDD appelé "erreurs" par l'application de filtres sur "entrée" RDD pour récupérer uniquement les lignes contenant les messages d'erreur et ensuite appeler la première action() sur l ' "erreur" RDD. Étincelles ici optimiser le traitement du fichier journal en arrêtant dès qu'il en trouve la première occurrence d'un message d'erreur dans des partitions. Si le même scénario s'est répété en désireux d'évaluation, une Étincelle aurait filtré toutes les partitions du fichier journal, même si vous avez été seulement intéressé dans le premier message d'erreur.
De https://www.mapr.com/blog/5-minute-guide-understanding-significance-apache-spark
Il permet de gagner du temps et indésirables de la puissance de traitement.