我正在学习Spark,对Spark的目录感到困惑。
我在SparkSession中找到了一个目录,它是CatalogImpl的一个实例,如下所示
/**
* 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)
我发现SparkSession.sessionSate中有一个目录,它是SessionCatalog的一个实例。
它们之间有什么区别?
它们
之间有什么区别?
tl;博士 无。
CatalogImpl
中的那句话是你理解中缺失的部分:
private def sessionCatalog: SessionCatalog = sparkSession.sessionState.catalog
换句话说,SparkSession.catalog
创建了一个在幕后使用sparkSession.sessionState.catalog
的CatalogImpl
。