Explain the concept of Lazy Evaluation in PySpark.
Implement a small Python pipeline that models this behavior using generators. The pipeline must apply filter_even, multiply, and take operations lazily, producing values only when the final result is consumed.
lazy_pipeline(data, operations) receives a list of integers and a list of operation objects. Each operation is a dictionary with type, and value when required. Return the resulting list of integers.
def lazy_pipeline(data, operations):