An action is an operation that triggers the execution of RDD transformations and returns a value (to a Spark driver - the user program). They trigger the execution of RDD transformations to return values. Simply put, an action evaluates the RDD lineage graph. You can think of actions as a valve and until no action is fired, the data to be processed is not even in the pipes, i.e. transformations. Only actions can materialize the complete processing pipeline with real data.