Description
Forking a newSession() from SparkSession currently makes a new SparkSession that does not retain SessionState (i.e. temporary tables, SQL config, registered functions etc.) This change adds a method cloneSession() which creates a new SparkSession with a copy of the parent's SessionState.
Subsequent changes to base session are not propagated to cloned session, clone is independent after creation.
If the base is changed after clone has been created, say user registers new UDF, then the new UDF will not be available inside the clone. Same goes for configs and temp tables.
Attachments
Issue Links
- contains
-
SPARK-20048 Cloning SessionState does not clone query execution listeners
- Resolved
- is required by
-
SPARK-19873 If the user changes the number of shuffle partitions between batches, Streaming aggregation will fail.
- Resolved
- links to