What is Apache Spark Lazy Evaluation

In Apache Spark, all transformations are lazy which means unless action is not called the execution will not take place. Say we are creating an RDD by applying transformations method such as map (), filter () or flatMap(), after that it does due to its lazy nature, once we call action methods such as collect(), take(), foreach() then it will execute and return the result to the user.

Advantage of Lazy Evaluation

Apache Spark lazy evaluation has the following benefits.

    Organize Program

    A user can consolidate its Apache Spark program in smaller operations by using Spark RDD lazy evaluation and by doing so the number of passes on data gets reduced.

    Increase Speed

    When we create RDD by applying transformation methods, in that case, it will not perform any action unless action methods are called and that plays a major role in saving computation and increasing speed because unless we don’t perform any action no computation will happen.

    Complications are reduced

    Using Lazy evaluation we can reduce complications like the time to process statements because due to its lazy nature each state will not execute only those statements will execute for which action method will be called.


    By reducing the number of queries Spark Lazy Evaluation provides the best optimizations.

    Reduction Memory

    Spark Lazy evaluation helps to reduce the usage of memory because until unless action is not called execution does not take place.