In Spark's Catalyst optimizer, a DataFrame query goes through several plan stages before execution. What is the correct order?
- aPhysical plan → optimized logical plan → logical plan
- bLogical plan → optimized logical plan → physical plan✓
- cOptimized logical plan → logical plan → physical plan
- dPhysical plan → logical plan → optimized logical plan
Explanation:Catalyst first builds a logical plan from the DataFrame/SQL code, applies rule-based optimizations to produce the optimized logical plan, and finally generates the physical plan that the execution engine runs.