I'm learning Spark, got confused about Spark's Catalog.
I found a catalog in SparkSession, which is an instance of CatalogImpl, as below
/**
* Interface through which the user may create, drop, alter or query underlying
* databases, tables, functions etc.
*
* @since 2.0.0
*/
@transient lazy val catalog: Catalog = new CatalogImpl(self)
And I found that there is a catalog in SparkSession.sessionSate, which is an instance of SessionCatalog.
What's the difference between them?