**Semantics:** explode = one-to-many (array → rows). flatten = array of arrays → single array (no new rows). collect_list = many-to-one (aggregate to array per group).
**Use Cases:** explode: normalize nested JSON. flatten: merge nested array before processing. collect_list: group by key, collect values (e.g., order items per order_id).
**Scalability:** explode multiplies rows—risk of skew. collect_list can create huge arrays—monitor group sizes....
The complete answer continues with detailed implementation patterns, architectural trade-offs, and production-grade considerations. It covers performance optimization strategies, common pitfalls to avoid, and real-world examples from companies like TCS. The answer also includes follow-up discussion points that interviewers commonly explore.
Continue Reading the Full Answer
Unlock the complete expert answer with code examples, trade-offs, and pro tips - plus 1,863+ more.
Or upgrade to Platform Pro - $39
Engineers who used these answers got offers at
AmazonDatabricksSnowflakeGoogleMeta
According to DataEngPrep.tech, this is one of the most frequently asked Python/Coding interview questions, reported at 1 company. DataEngPrep.tech maintains a curated database of 1,863+ real data engineering interview questions across 7 categories, verified by industry professionals.