Where Spark Uses Memory
• storage: memory used to cache data that will be used later.
(controlled by memory manager)
• execution: memory used for computation in shuffles, joins,
sorts and aggregations. (controlled by memory manager)
• others: user data structure, internal metadata, objects
created by UDF, etc.