Description
Currently, temp view store mapping of temp view name and its logicalPlan, and permanent view store in HMS stores its origin SQL text.
So for permanent view, when try to refer the permanent view, its SQL text will be parse-analyze-optimize-plan again with current SQLConf and SparkSession context, so it might keep changing when the SQLConf and context is different each time.
In order the unify the behaviors of temp view and permanent view, proposed that we keep its origin SQLText for both temp and permanent view, and also keep record of the SQLConf when the view was created. Each time we try to refer the view, we using the Snapshot SQLConf to parse-analyze-optimize-plan the SQLText, in this way, we can make sure the output of the created view to be stable.
Attachments
Attachments
Issue Links
- causes
-
SPARK-34076 SQLContext.dropTempTable fails if cache is non-empty
- Resolved