This document provides an overview of Spark Catalyst including:
- Catalyst trees and expressions represent logical and physical query plans
- Expressions have datatypes and operate on Row objects
- Custom expressions can be defined
- Code generation improves expression evaluation performance by generating Java code via Janino compiler
- Key concepts like trees, expressions, datatypes, rows, code generation and Janino compiler are explained through examples